2014-09-01 2 views
0

Я хочу, чтобы упростить это как-то:Попытка упростить некоторые части маршрутов

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

Возможно, дубликат: http://stackoverflow.com/questions/ 10850381/regex-on-routes – mudasobwa

+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 с некоторой пользовательской методологией внутри - но вам придется определять ограничение вручную каждый раз, когда вы ссылаетесь на нужный вам маршрут.

Смежные вопросы