2013-03-15 3 views
0

У меня есть вложенный маршрут в рельсах, и мне нужно изменить имя: id, я не хочу, чтобы: id, потому что у меня есть другое поле для использования в качестве параметра. .. Я гулял, но не мог найти способ сделать это ... Любая идея?Измените имя: id в вложенном маршруте

у меня есть:

resources :user do 
    resources :elements, :only=>[:create,:destroy] 
end 

и граблями маршруты генерирует:

user_elements POST /users/:user_id/elements(.:format)   elements#create 
user_elements DELETE /users/:user_id/elements/:id(.:format)  elements#destroy 

И мне нужно что-то вроде

user_elements POST /users/:user_id/elements(.:format)   elements#create 
user_elements DELETE /users/:user_id/elements/:CHANGED(.:format)  elements#destroy 

Спасибо !!

+2

Зачем вам что-то, кроме id? –

+0

, потому что у меня есть другое поле, которое уникально, но это строка, поэтому я выбираю идентификатор int, а также эту уникальную строку ... – Andres

ответ

1

Я бы рекомендовал не менять конвенцию. Вероятно, вам нужно будет объявить маршруты вручную.

Это говорит, что-то, как это будет, вероятно, работать:

resources :users do 
    post 'elements(.:format)' => 'elements#create' 
    delete 'elements/:changed(.:format)' => 'elements#destroy' 
    end 
0
match "https://stackoverflow.com/users/:user_id/elements/:CHANGED(.:format)" => 'elements#destroy' 

Это может сделать это!

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