我想以某种方式简化这个:
namespace :api do
namespace :v1 do
get ":domain/test1" => "home#test1", constraints: { domain: /[0-z\.]+/ }, defaults: { format: :json }
get ":domain/test2" => "home#test2", constraints: { domain: /[0-z\.]+/ }, defaults: { format: :json }
get ":domain/test3" => "home#test3", constraints: { domain: /[0-z\.]+/ }, defaults: { format: :json }
# ........... and so on
end
end
有什么办法吗?
答案 0 :(得分:1)
也许这可以帮到你?
http://guides.rubyonrails.org/routing.html#route-globbing-and-wildcard-segments
对于您的问题,您必须使用:
get '/stories/:name', to: redirect('/posts/%{name}')
答案 1 :(得分:0)
也许您想在路线中使用某种method
:
#config/routes.rb
def record id
get ":domain/#{id}" => "home#test#{id}", constraints: { domain: /[0-z\.]+/ }, defaults: { format: :json }
end
namespace :api do
namespace :v1 do
x = 10
x.times do |i|
record i
end
end
end
非常臃肿,记忆明智,当然。
杀手是:domain
约束。我已准备好创建一个resources :home
调用,其中包含一些自定义方法 - 但是每次引用所需的路径时,您都必须手动定义约束