динамически добавлять ограничение на маршруты рельсов

Я хочу написать плагин, который должен сделать патч обезьяны, чтобы добавить ограничение на все маршруты, определенные в rails application route.rb

я пытаюсь сделать следующий код в своем патче для обезьян, но это не работает. Каков правильный путь?

Rails.configuration.to_prepare do
  RedmineApp::Application.routes.routes.each do |route|
    route.app.constraints << lambda{ |request| request.subdomains.first == 'admin' }
  end
end

person danielgatis    schedule 09.03.2013    source источник
comment
я не думаю, что это хорошая идея. какой именно вариант использования здесь?   -  person phoet    schedule 09.03.2013
comment
мне нужно написать плагин для приложения rails, и я хочу изменить некоторые ограничения на маршруты из моего плагина   -  person danielgatis    schedule 12.03.2013


Ответы (1)


Из руководства RoR: Расширенные ограничения:

'Вы можете предоставить объект, который реагирует на совпадения?' http://guides.rubyonrails.org/routing.html#advanced-constraints

TwitterClone::Application.routes.draw do
  match "*path" => "blacklist#index",
    :constraints => BlacklistConstraint.new
end
person ooHmartY    schedule 09.03.2013
comment
мне нужно изменить маршрут после определения route.rb - person danielgatis; 12.03.2013