Rails url_for с вложенным идентификатором ресурса вместо объекта

Мне нужно построить URL внутри контроллера для вложенного ресурса:

http://0.0.0.0:3000/account/1/address/new

Я мог бы сделать: new_account_address_path(@account), но я нахожусь внутри контроллера, который имеет идентификатор учетной записи в контексте (params[:id]). Я не хочу загружать объект из БД только для создания URL.

Каков наилучший способ расширить помощники рельсов до этого: new_account_address_path(params[:id]) и иметь http://0.0.0.0:3000/account/1/address/new?

Я также не хочу создавать фиктивный экземпляр.

1 ответ

Решение

Вы должны быть в состоянии передать аргументы маршрута как хеш:

new_account_address_path(:account_id => params[:account_id])
Другие вопросы по тегам