我的控制器类声明
后面有以下代码 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不起作用?
答案 0 :(得分:13)
如果您希望在视图中看到在“之后”过滤器中分配的变量,那么这将无效,因为直到您的视图完全处理后才会执行过滤器。