当前位置 : 主页 > 编程语言 > ruby >

ruby-on-rails – Rails – 如何在自定义布局中使用application.html.erb?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我有一个名为“Pages”的控制器,大约有5页(视图),我为其渲染了一个名为“page.html.erb”的布局. 所以我的“页面”控制器有: class PagesController ApplicationControllerlayout 'page' 我希望我的“p
我有一个名为“Pages”的控制器,大约有5页(视图),我为其渲染了一个名为“page.html.erb”的布局.
所以我的“页面”控制器有:

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,除非您重定向或指定要在动作中呈现的其他视图.事实上,如果你想要做的就是渲染页面,你甚至不需要在控制器中定义动作!

约定配置我的朋友.

网友评论