Как я могу изменить имена параметров по умолчанию в маршрутизации Rails 3?

В моем проекте 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

Я хочу вторую часть, но без всей этой работы с моим и без того огромным файлом маршрутов. :) возможно ли это?

6
задан fl00r 22 March 2011 в 15:46
поделиться