Я хочу иметь согласованность в назначении именования моих маршрутов. Параметр по умолчанию - :id
для любого ресурса. Однако, если в нем находится другой ресурс, параметр родительского ресурса изменяется на :parent_id
. Моя маршрутизация выглядит следующим образом:Переопределение параметров во вложенных маршрутах
resources :users do
resources :projects do
resources :issues
end
end
Для пользователя модели он будет генерировать URL, как :id
для проекта URL будет :user_id/:id
и по вопросам URL будет :user_id/:project_id/:id
. Я пытался перегружать параметры по умолчанию следующим this
resources :users, param: :user_id do
resources :projects, param: :project_id do
resources :issues, param: :issue_id
end
end
Он генерирует URL, как: :user_user_id/:project_project_id/:issue_id
. Поскольку я переопределяю это, я бы хотел, чтобы по умолчанию добавление родительского ресурса отключено. Я хочу, чтобы мои маршруты выглядели как :user_id/:project_id/:issue_id
, и я хочу, чтобы он был последовательным для всех моделей. т.е. проект должен быть сопоставлен с :user_id/:project_id
.
Извините Haider, но он добавляет ключ к спискам параметров: 'Параметры: {" key "=>: project_id," user_id "=>" addie "," id "= > "new_project"} ' – sonalkr132
@ sonalkr132 вы хотите конвертировать'/customers /: customer_id/projects /: project_id/issues' в '/: user_user_id /: project_project_id /: issue_id' ???? –
Нет! Я хочу это по-другому. т.е. ': user_user_id /: project_project_id /: issue_id'': user_id /: project_id /: issue_id'. Первичный параметр генерирует первый. – sonalkr132