如何合并路由声明(子域或令牌)?

efj*_*fji 6 subdomain routes ruby-on-rails constraints

我有一个模型模型,可以通过多种方式访问​​:通过子域或令牌

我有以下路线

resources :model, :constraints => {:model_id => /[a-zA-Z0-9]{4}/} do
  ... (nested resources...)
end
resources :model, :constraints => {:subdomain => /.+/} do
  ... (same as above: nested resources...)
end
Run Code Online (Sandbox Code Playgroud)

所以我目前必须复制这两种情况的所有路线.

有没有办法只申报一次?

fl0*_*00r 4

def nested_routes
  get :some_route
  post :some route
  resources :some_resources
end

resources :model, :constraints => {:model_id => /[a-zA-Z0-9]{4}/} do
  nested_routes
end

resources :model, :constraints => {:subdomain => /.+/} do
  nested_routes
end
Run Code Online (Sandbox Code Playgroud)

相关主题:Rails 3 路由:DRY 成员