Chciałbym sobie ładnie napisać routes, które ostatecznie dawały by mi coś w ten deseń:
Prefix Verb URI Pattern Controller#Action v1_mail_domains GET /v1/mail/domains(.:format) v1/mail/domains#index POST /v1/mail/domains(.:format) v1/mail/domains#create v1_mail GET /v1/mail/domains(/:name)(/:id)(.:format) v1/mail/domains#show {:id=>/[0-9]+/, :name=>/[a-z0-9]+\.[a-z0-9\/\.]+/i} DELETE /v1/mail/domains(/:name)(/:id)(.:format) v1/mail/domains#destroy {:id=>/[0-9]+/, :name=>/[a-z0-9]+\.[a-z0-9\/\.]+/i}
Jak na razie zrobiłem to w ten sposób:
namespace :v1 do
namespace :mail do
constraints(
id: /[0-9]+/,
name: /[a-z0-9]+\.[a-z0-9\/\.]+/i,
) do
resources :domains, except: [:update, :show, :destroy]
get '/domains(/:name)(/:id)' => 'domains#show'
delete '/domains(/:name)(/:id)' => 'domains#destroy'
end
end
end
ale zastanawiam się, czy przy tworzeniu resources nie można już jakoś określić nazwy parametrów alternatywnych. Jak na razie znalazłem tylko jak zmienić :id na jakąś inną nazwę.