我创建了自己的布局' standard.html.erb'在views / layouts文件夹下。我创建了以下控制器:
class HomeController < ActionController::Base
before_filter :initialize
# layout 'standard'
def initialize
@root = '/'
end
def home()
render layout: "standard"
end
end
这 - &gt; layout 'standard'
不适用于视图
这 - &gt; render layout: "standard"
适用于家庭视图
我在网上看到第一个也应该有用。无法弄清楚它为什么不起作用。
答案 0 :(得分:1)
您已覆盖initialize
方法!添加布局的逻辑位于AbstractController的原始initialize
方法中。你需要重命名这个方法,一切都应该有效。
答案 1 :(得分:1)
问题在于,您没有正确遵循方法命名转换。您正在使用before_filter :initialize
。 :initialize
用于在创建任何新对象时将属性设置为object。
尝试将名称initialize
更改为init
,您就完成了。