我想访问嵌套属性中的参数.....下面是代码。
<%= link_to "Invoice", user_invoice_path(@user, invoice) %>
如何在发票控制器显示操作中访问用户和发票。
def show
@user = User.find(params[:user_id])
@invoice = Invoice.find(params[:id])
end
用户模型:
class User < ActiveRecord::Base
has_many :invoices
end
发票型号:
class Invoice < ActiveRecord::Base
belongs_to :user
end
我知道当它没有嵌套时它是如何工作的......任何人都可以帮忙吗?
答案 0 :(得分:1)
如果我理解正确,您就无法以这种方式找到@user
或@invoice
。
请调试show
行动,您会发现params
如下,
{"action"=>"show", "controller"=>"invoices", "user_id"=>"307", "id"=>"359"}
所以现在写下你的节目动作,比如
def show
@invoice = Invoice.find(params[:id])
@user = User.find(params[:user_id])
end
可能有更好的方法在控制器操作中查找对象。但这是您必须考虑的基本方法,而不是您尝试过的方法。