在Rails 3.2.x中,为跨操作使用的实例变量设置默认值的正确方法是什么?

时间:2013-03-05 18:21:39

标签: ruby-on-rails-3 controller

我们希望为每个呈现的页面使用默认名称和描述,除非动作另有定义。

这样做的正确方法是什么?

我们正在使用Rails 3.2.12。

1 个答案:

答案 0 :(得分:0)

假设您想在站点的整个范围内使用变量,我通常会在ApplicationController上定义一个before_filter:

class ApplicationController < ActionController::Base

  before_filter :intialize_var

  def initialize_var
    @var = "some default"
  end
end

然后在控制器中手动覆盖该过滤器,如下所示:

class PeopleController < ApplicationController

  def initialize_var
    @var = 'parents just dont understand'
  end
end

您可以在观看中使用@var,然后就可以了。