Rails url_for使用嵌套资源id而不是object

时间:2011-04-16 16:57:51

标签: ruby-on-rails ruby-on-rails-3 url-for

我需要在控制器内为嵌套资源构建一个url:

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

我可以这样做:new_account_address_path(@account)但是我在上下文中具有帐号id的控制器内(params [:id])我不想从db加载对象只是为了构建网址。

将rails帮助程序扩展到此的最佳方法是什么:new_account_address_path(params [:id])并拥有 http://0.0.0.0:3000/account/1/address/new

我也不想创建一个虚拟实例。

1 个答案:

答案 0 :(得分:2)

您应该能够将路由参数作为哈希传递:

new_account_address_path(:account_id => params[:account_id])