动态地向rails路由添加约束

时间:2013-03-09 08:07:26

标签: ruby-on-rails routes constraints monkeypatching

我想编写一个插件,需要做一个猴子补丁,在rails应用程序路由中定义的所有路由上添加约束.rb

我尝试在我的猴子补丁中执行以下代码,但这不起作用。什么是正确的方法?

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

1 个答案:

答案 0 :(得分:0)

来自RoR指南:高级约束:

  

'你可以提供一个响应匹配的对象吗?'   http://guides.rubyonrails.org/routing.html#advanced-constraints

TwitterClone::Application.routes.draw do
  match "*path" => "blacklist#index",
    :constraints => BlacklistConstraint.new
end