Есть драгоценный камень, который добавляет a before_filter
в приложение Rails:
class Railtie < Rails::Railtie
initializer "..." do
ActiveSupport.on_load(:action_controller) do
ActionController::Base.send(:include, Filter)
...
module Filter
extend ActiveSupport::Concern
included do
append_before_filter :set_locale
end
def set_locale
....
И вот какой-то контроллер в приложении:
class DesktopsController < ApplicationController
before_filter :set_language_in_session
Теперь проблема в том, что before_filter
из драгоценного камня помещается в цепочку фильтров перед before_filter
из DesktopsController:
DesktopsController._process_action_callbacks.select { |c| c.kind == :before }.collect { |filter| filter.filter }
=> [
[0] :set_locale,
[1] :set_language_in_session
]
Как я могу сделать before_filter
из драгоценного камня( set_locale ) ставить после всех других фильтров?Секрет, вероятно, заключается в этой строке:
ActiveSupport.on_load(:action_controller) do
Но я пробовал разные библиотеки без какой-либо удачи ...
Кстати.Вот полный код драгоценного камня .Ruby 1.9.2, Rails 3.0.5.