理解before和after_filter

时间:2011-04-10 09:01:38

标签: ruby-on-rails-3 before-filter

我的控制器类声明

后面有以下代码
  before_filter :load_form, :except => [:create, :update, :delete]
  after_filter :load_form, :only => [:create, :update, :delete]

  def load_form
    @severities = Severity.all
    @severity = Severity.new
  end

当页面加载得很好时,我得到严重性列表,这意味着before_filter正在工作。但是在调用诸如创建严重性列表之类的方法后,总是会返回为零。我想我可能只是遗漏了一些关于过滤器的基本信息。谁能帮助我理解为什么after_filter不起作用?

1 个答案:

答案 0 :(得分:13)

如果您希望在视图中看到在“之后”过滤器中分配的变量,那么这将无效,因为直到您的视图完全处理后才会执行过滤器。