我试图显示特定订单的里程碑列表。 (订单有许多里程碑。)Rails3我如何使用:在命名范围内的参数?
我的订单模式,我有这样的:
scope :open, lambda {
joins("join milestones on milestones.order_id = orders.id").
where("order_id = ? AND milestone_status = ?", :params[:order_id], true).
group("orders.id")
}
我有越来越当前订单ID工作的问题 - :PARAMS [:ORDER_ID]显然是错误。
在我的路线我有这样的:
resources :orders do
resources :milestones
end
而且我的网址如下:
http://127.0.0.1/orders/2/milestones
这怎么可能?我已通过手动替换订单ID来测试范围。
- 编辑 -
按照下面的建议,我已经把我的里程碑控制器如下:
@orders = Order.open(params[:order_id])
而且在我看来,我有这样的:
< %@ orders.each do | open | %>
但我得到一个错误:
wrong number of arguments (1 for 0)
完整的堆栈跟踪是在这里:http://pastie.org/2442518
添加完整的堆栈跟踪。 –
会做。刚刚弹出。稍后再粘贴。再次感谢 –
@ Mauricio-Linhares。已经用完整的跟踪编辑了我的答案 - 感谢您的帮助。 –