Понимание до и после_фильтра - PullRequest
4 голосов
/ 10 апреля 2011

У меня есть следующий код сразу после объявления класса моего контроллера

  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?

1 Ответ

14 голосов
/ 10 апреля 2011

Если вы ожидали увидеть переменные в вашем представлении, которые были назначены в вашем фильтре «после», это не сработает, поскольку фильтр не выполняется до тех пор, пока ваше представление не будет полностью обработано.

...