Rails:如何向每个页面添加标题

发布于 2024-09-03 07:37:28 字数 41 浏览 6 评论 0原文

向 Rails 应用程序中的每个视图添加页眉和页脚的标准方法是什么?

What is the standard way to add a header and footer to every view in a Rails app?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

纵山崖 2024-09-10 07:37:28

如果找到该文件,则会使用该文件。

app/views/layouts/application.html.erb

<!doctype html>
<html>
  <head>
    <!-- stuff -->
  </head>
  <body>
    <!-- this is where content will be rendered -->
    <%= yield %>
  </body>
</html>

否则,您可以调用另一个。

# app/controllers/birds_controller.rb
class BirdsController < ApplicationController

  layout :birds   # looks for app/views/layouts/birds.html.erb

  # ...
end

If this file is found, it will be used.

app/views/layouts/application.html.erb

<!doctype html>
<html>
  <head>
    <!-- stuff -->
  </head>
  <body>
    <!-- this is where content will be rendered -->
    <%= yield %>
  </body>
</html>

Otherwise, you can call in a different one.

# app/controllers/birds_controller.rb
class BirdsController < ApplicationController

  layout :birds   # looks for app/views/layouts/birds.html.erb

  # ...
end
逆夏时光 2024-09-10 07:37:28

将页眉和页脚放入应用程序布局中,该布局位于 app/views/layouts/application.html.erb。您可能必须先创建此文件。

put the header and footer into the application layout which can be found at app/views/layouts/application.html.erb.You may have to create this file first.

眼眸 2024-09-10 07:37:28

要将任何“样板”代码添加到所有页面,请使用布局文件。它通常位于 app/views/layouts/ 中。

像使用任何其他 Rails 视图一样创建页面。一般来说,最好将 body 等标签放置在布局内部以避免重复。

在您希望显示各个视图的内容的位置中,放入 <% Yield %> 标记。由于 Ruby 的块语法和 Rails 实现布局的方式,这将允许其控制器指定此布局的任何视图“继承”所有布局并仅插入特定于页面的内容。

要全局使用布局,请将文件命名为 application.html.erb 或指定 render :layout 选项。

To add any "boilerplate" code to all pages, use a layout file. It is usually found in app/views/layouts/.

Create the page as you would with any other Rails view. In general, it is a good idea to place the <html>, body, etc tags inside of the layout to avoid repetition.

In the location where you want the content from individual views to appear, put in a <% yield %> tag. Because of Ruby's block syntax and the way Rails implements layouts, this will allow any view whose controller specifies this layout to "inherit" all of the layout and insert only the page-specific content.

To use the layout globally, name the file application.html.erb or specify the render :layout option.

小猫一只 2024-09-10 07:37:28

您将在 app/views/layouts/ 中找到应用的布局文件。

You'll find your app's layout files in app/views/layouts/.

不甘平庸 2024-09-10 07:37:28

创建一个通用布局“app/views/layouts/.html.erb”,如 x1a4 所说。在其中,您可以创建页眉和页脚,

如果您愿意,可以将其作为两个部分并在布局文件内调用。但是,如果您只有一种布局,则可能不需要这种布局,

如果您有 2-3 种布局类型(例如普通用户、管理员等...)

并且在控制器中紧随类声明类之后,则

在 部分中具有页眉和页脚是有意义的用户控制器 <应用控制器
布局“布局名称”
欢呼结束


萨梅拉

create a common layout 'app/views/layouts/.html.erb' as x1a4 said. And inside that you can create your header and footer

If you want you can make that as two partials and call inside the layout file. But if you have only one layout you might not need this

having header and footer in partials make sense if you have 2-3 layout types (like for normal users, administrators etc...)

and in your controllers right after the class declaration

class UsersController < ApplicationController
layout 'layout name'
end

cheers,
sameera

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文