特定の注文のマイルストーンのリストを表示しようとしています。 params [::ORDER_ID]明確である -Rails3名前付きスコープのparamsを使用するには?
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が動作するようになっている:(。受注は多くのマイルストーンを持っている)
を私の命令モデルでは、私はこれを持っています違う。私のルートで
私はこれを持って次のように
resources :orders do
resources :milestones
end
そして、私のURLは次のとおりです。
http://127.0.0.1/orders/2/milestones
これが可能であるどのように?スコープを手動で注文IDに置き換えてテストしました。
- - EDIT
以下のアドバイスを1として、私は私のマイルストーンコントローラに以下の置かれている:
<:
@orders = Order.open(params[:order_id])
そして、私の見解で、私はこれを持っています%@ orders.each do | open | %>
しかし、私はエラーを取得する:
wrong number of arguments (1 for 0)
フルスタックトレースはここにある:
scope :open, lambda { |order_id|
joins("join milestones on milestones.order_id = orders.id").
where("order_id = ? AND milestone_status = ?", order_id, true).
group("orders.id")
}
そして、このようなあなたのコントローラ上でそれを呼び出す:http://pastie.org/2442518
完全なスタックトレースを追加します。 –
します。ちょうど飛び出しました。後で貼り付けます。再びありがとう –
@マウリシオ - Linhares。完全なトレースで私の答えを編集しました - 助けてくれてありがとう。 –