Я проверил множество подобных вопросов. В основном ответы показывают переопределение метода to_param
. Но этого я не хочу.Могу ли я изменить параметр по умолчанию ': id', сгенерированный маршрутами в Rails 3?
Скажем resources: users
rake routes
edit_user GET /users/:id/edit(.:format) users#edit
user GET /users/:id(.:format) users#show
PUT /users/:id(.:format) users#update
DELETE /users/:id(.:format)
затем обратно к моей UsersController
, я могу получить id
параметров от params[:id]
. Но этого я не хочу, я хочу, чтобы это было params[:user_id]
. Это невозможно в соответствии с указанными выше маршрутами. Поскольку на маршруте нет параметра :user_id
. Есть ли способ помочь?
почему ты беспокоишься? Тогда, может быть, мы сможем помочь придумать решение. –
@JesseWolgamott, потому что в моем файле маршрутов есть вложенные ресурсы с 'users' и' collections'. Когда я имел дело с коллекциями, я могу использовать ': user_id' в качестве параметра. Но когда дело доходит до «пользователей», я должен использовать «: id» в качестве параметра, чтобы найти пользователя ... он усложняется ... –
Ahh. Итак, вы должны либо не использовать вложенные ресурсы, либо быть здоровыми с идеей, что ресурсы используют «идентификатор» модели для поиска модели. –