0
私のユーザーモデルには多くのプロジェクトがあり、各プロジェクトには多くの請求書があります。Ruby on Rails - コレクション内のコレクションをレンダリングしますか?
私は次のように
render :partial => "layouts/allInvoices", :collection => @projects, :as => :p
そしてallInvoices内部をレンダリング呼び出しています、私は、各プロジェクトの請求書を反復したいです。
私は
- p.invoices.each do |i|
を使用することができます。しかし、私はむしろ、コレクションを使用すると思います。私はそれをどのようにフレーズするかわからない
= render :partial => "layouts/invoiceItem", :collection => p.invoices, :as => :i
動作しません。コントローラ内にネストされた反復を設定する必要はありますか?
おかげ
私は '私は' これをするためにnilを取得します。私の試行されたコレクションと同じ結果です。部分的にレンダリングすることなく 'i'に直接アクセスすると、機能します。 – aperture
'layouts/allInvoices'の' invoice'とは何ですか – axsuul
何を求めていますか?コンストラクトで 'p.invoices.each do | invoice |' "invoice"はp.invoicesの各反復のプレースホルダー要素で、pはProject.allの各反復のプレースホルダーで、p.invoicesは各プロジェクトのInvoice.allです。例えばProject.first.Invoice.firstは "請求書"の最初のインスタンスです...しかし、それは本当に私の質問とは関係ありません。私は、インスタンス変数をコレクションに渡す方法が不思議です。コレクション自体がコレクションから呼び出されたときです。 – aperture