Я пытаюсь отобразить список вехами для конкретного ордера. (У ордеров много стадий.)
В моей модели ордеров у меня есть следующее:
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
И моя url следующая:
http://127.0.0.1/orders/2/milestones
Как такое возможно? Я протестировал scope, заменив его идентификатором ордера вручную.
-- EDIT --
В соответствии с советом, приведенным ниже, я поместил в контроллер вехи следующее:
@orders = Order.open( params[:order_id] )
И, на мой взгляд, у меня есть следующее:
Но я получаю ошибку:
wrong number of arguments (1 for 0)
Полная стековая трасса здесь: http://pastie.org/2442518