Упорядочить Ruby on Rails, before_filter и prepend_before_filter есть? - PullRequest
20 голосов
/ 03 августа 2010

В следующем примере

before_filter :foo
before_filter :bar
before_filter :wah
prepend_before_filter :heehee
prepend_before_filter :haha

так, тогда порядок выполнения будет:

haha, heehee, foo, bar, wah?   <-- note that haha is actually before heehee

И есть ли причина не перечислять haha и heehee в первую очередь, а использовать prepend?

Ответы [ 2 ]

27 голосов
/ 03 августа 2010

Насколько мне известно, это решает наследование классов, когда вы не можете определить порядок before_filter:

ApplicationController < ActionController::Base    
  before_filter :do_this_first    
  #....
end

SomeController < ApplicationController    
  before_filter :do_this_second
  #.... 
end

Здесь ни один из определенных методов не будет иметь предпочтения, если вы не используете prepend_before_filter.

0 голосов
/ 06 октября 2013

Похоже на prepend_filter, в очереди before_filter с он добавляет фильтр перед очередью. Следовательно, последний пришел, первый обслужен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...