В моем проекте Rails 3 у меня есть такой список маршрутов:
resources :projects do
resources :studies
end
resources :sticky_notes
resources :study_templates
...
В настоящее время по умолчанию идентификаторы в URL-адресах этих маршрутов можно вызывать с помощью params [: id], но я хочу иметь возможность вызывать их с помощью params [: sticky_note_id], params [: study_template_id], params [: study_id] и т. д. Есть ли способ указать имя параметра для идентификатора эти проекты? Должен ли я писать каждый маршрут вручную без «ресурсов»?
Спасибо!
Редактировать: Вот пример того, что я пытаюсь сделать: Вот что происходит, когда маршруты определены, как написано выше:
resources :projects do
resources :studies
end
# results in /projects/:project_id/studies/:id
# /projects/:project_id/studies/:id/edit
# /projects/:project_id/studies/:id/new
# etc.
resources :sticky_notes
# results in /sticky_notes/:id
# /sticky_notes/:id/edit
# /sticky_notes/:id/new
# etc.
Это то, что я хочу:
match '/projects/:project_id/studies/:study_id' => 'studies#show'
match '/projects/:project_id/studies/:study_id/edit' => 'studies#edit'
match '/projects/:project_id/studies/:study_id/new' => 'studies#new'
...
# results in /projects/:project_id/studies/:study_id
# /projects/:project_id/studies/:study_id/edit
# etc
match '/sticky_notes/:sticky_note_id' => 'sticky_notes#show'
match '/sticky_notes/:sticky_note_id/edit' => 'sticky_notes#edit'
match '/sticky_notes/:sticky_note_id/new' => 'sticky_notes#new'
...
# results in /sticky_notes/:sticky_note_id
# /sticky_notes/:sticky_note_id/edit
# etc
Я хочу вторую часть, но без всей этой работы с моим и без того огромным файлом маршрутов. :) возможно ли это?