在 Rails 应用程序的每个视图中添加页眉和页脚的标准方法是什么?
5 回答
如果找到此文件,将使用它。
应用程序/视图/布局/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
将页眉和页脚放入可在app/views/layouts/application.html.erb找到的应用程序布局中。您可能必须先创建此文件。
要将任何“样板”代码添加到所有页面,请使用布局文件。它通常位于 app/views/layouts/ 中。
像使用任何其他 Rails 视图一样创建页面。一般来说,最好将<html>
, body
, etc 标签放置在布局中以避免重复。
在您希望单个视图的内容出现的位置,放置一个<% yield %>
标签。由于 Ruby 的块语法和 Rails 实现布局的方式,这将允许控制器指定此布局的任何视图“继承”所有布局并仅插入特定于页面的内容。
要全局使用布局,请将文件命名为 application.html.erb 或指定 render :layout 选项。
您将在app/views/layouts/
.
如 x1a4 所说,创建一个通用布局“app/views/layouts/.html.erb”。在里面你可以创建你的页眉和页脚
如果您愿意,可以将其作为两个部分并在布局文件中调用。但是如果你只有一个布局,你可能不需要这个
如果您有 2-3 种布局类型(如普通用户、管理员等),则在部分中使用页眉和页脚是有意义的
并在类声明之后的控制器中
class UsersController < ApplicationController layout 'layout name' end
干杯,萨梅拉