我正在尝试显示特定订单的里程碑列表。 (订单有许多里程碑。)
在我的订单模型中,我有这个:
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 http://127.0.0.1/orders/2/milestones
这怎么可能?我已经通过手动替换订单 ID 来测试范围。
- 编辑 -
根据下面的建议,我已将以下内容放入我的里程碑控制器中:
@orders = Order.open( params[:order_id] )
在我看来,我有这样的:
但我收到一个错误:
wrong number of arguments (1 for 0)
完整的堆栈跟踪在这里:http://pastie.org/2442518 http://pastie.org/2442518