在我的 Controller 类声明之后,我有以下代码

  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 正在工作。然而,在调用诸如 create 之类的方法之后,严重性列表总是返回为零。我想我可能只是遗漏了一些关于过滤器的基本知识。谁能帮我理解为什么 after_filter 不起作用?

最佳答案

如果您希望在您的 View 中看到在您的“之后”过滤器中分配的变量,那将不起作用,因为过滤器在您的 View 完全处理之后才会执行。

关于ruby-on-rails-3 - 了解 before 和 after_filter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5610756/

10-13 07:54