理解before和after_filter

Jas*_*ost 4 before-filter ruby-on-rails-3

我的控制器类声明后,我有以下代码

  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
Run Code Online (Sandbox Code Playgroud)

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

Ste*_*sen 14

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