我有一个名为“Pages”的控制器,大约有5页(视图),我为其渲染了一个名为“page.html.erb”的布局. 所以我的“页面”控制器有: class PagesController ApplicationControllerlayout 'page' 我希望我的“p
所以我的“页面”控制器有:
class PagesController < ApplicationController layout 'page'
我希望我的“page.html.erb”布局默认使用“application.html.erb”.如何使我的自定义布局“page.html.erb”自动在其中继承/呈现“application.html.erb”?
如果未在控制器中指定布局,则Rails将默认呈现应用程序布局.如果您遵循此约定,则可以将application.html.erb用于整个网站页面结构(也是包含样式表和javascript的好地方).然后,您可以在布局中使用= yield来指定应该呈现控制器视图的位置.默认情况下,Controller操作将呈现其相应的视图.例如,如果控制器bars_controller.rb中有一个动作foo,则Rails将呈现/app/views/bars/foo.html.erb,除非您重定向或指定要在动作中呈现的其他视图.事实上,如果你想要做的就是渲染页面,你甚至不需要在控制器中定义动作!
约定配置我的朋友.