如何在自定义布局中巧妙运用application.html.erb实现Rails布局优化?
- 内容介绍
- 文章标签
- 相关推荐
本文共计293个文字,预计阅读时间需要2分钟。
我有一个名为Pages的控制器,大约有5页(视图),我为它们渲染了一个名为page..erb的布局。因此,我的页面控制器具有以下属性:class PagesController
我有一个名为“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,除非您重定向或指定要在动作中呈现的其他视图.事实上,如果你想要做的就是渲染页面,你甚至不需要在控制器中定义动作!
约定配置我的朋友.
本文共计293个文字,预计阅读时间需要2分钟。
我有一个名为Pages的控制器,大约有5页(视图),我为它们渲染了一个名为page..erb的布局。因此,我的页面控制器具有以下属性:class PagesController
我有一个名为“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,除非您重定向或指定要在动作中呈现的其他视图.事实上,如果你想要做的就是渲染页面,你甚至不需要在控制器中定义动作!
约定配置我的朋友.

