Tôi đang cố gắng hiển thị danh sách các cột mốc cho một đơn đặt hàng cụ thể. (Đơn đặt hàng có nhiều sự kiện quan trọng.)Rails3 Làm thế nào tôi có thể sử dụng: params trong phạm vi được đặt tên?
Trong mô hình đơn đặt hàng của tôi, tôi có điều này:
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")
}
Vấn đề tôi đang gặp là nhận được ID trật tự hiện hành để làm việc -: params [: order_id] rõ ràng là sai rồi.
Trong các tuyến đường của tôi, tôi có điều này:
resources :orders do
resources :milestones
end
Và url của tôi là như sau:
http://127.0.0.1/orders/2/milestones
Làm thế nào có thể như vậy? Tôi đã thử nghiệm phạm vi bằng cách thay thế bằng ID đơn hàng theo cách thủ công.
- EDIT -
Theo lời khuyên dưới đây, tôi đã đặt sau đây trong sự kiện quan trọng điều khiển của tôi:
@orders = Order.open(params[:order_id])
Và theo quan điểm của tôi, tôi có điều này:
< % @ orders.each do | open | %>
Nhưng tôi nhận được một lỗi:
wrong number of arguments (1 for 0)
Các stacktrace đầy đủ là ở đây: http://pastie.org/2442518
Thêm dấu vết ngăn xếp đầy đủ. –
Sẽ làm. Chỉ xuất hiện. Sẽ dán sau. Cảm ơn một lần nữa –
@ Mauricio-Linhares. Đã chỉnh sửa câu trả lời của tôi với dấu vết đầy đủ - cảm ơn sự giúp đỡ. –