控制器上的Rails布局不起作用,但是它的工作方法

时间:2015-08-05 08:40:04

标签: ruby-on-rails layout controller

我创建了自己的布局' 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"适用于家庭视图

我在网上看到第一个也应该有用。无法弄清楚它为什么不起作用。

2 个答案:

答案 0 :(得分:1)

您已覆盖initialize方法!添加布局的逻辑位于AbstractController的原始initialize方法中。你需要重命名这个方法,一切都应该有效。

答案 1 :(得分:1)

问题在于,您没有正确遵循方法命名转换。您正在使用before_filter :initialize:initialize用于在创建任何新对象时将属性设置为object。

尝试将名称initialize更改为init,您就完成了。