私は2つのモデルOrderとProductの間に多対多の関係を持っています。 Linesという結合テーブルがあり、ユーザは注文したい商品に数量を追加することができます。Rails 3 - ネストされたリソースのインデックスビュー
私のルートは、次のように見えるので、私は製品の受注内にネストされている:
resources :orders do
resources :products, :controller => "products"
end
end
私は私のindex.html.erbがある場合に成功したインデックス(受注/ ID /製品)に行くことができました単にプレースホルダですが、データを表示しようとすると問題が発生します。 (<%する@ products.eachに...ライン)をerroringさ
マイProductsテーブルには、次のようになります。
<table>
<tr>
<th>URL</th>
<th></th>
<th></th>
<th></th>
</tr>
<% @products.each do |product| %>
<tr>
<td><%= product.url %></td>
<td><%= link_to 'Show', product %></td>
<td><%= link_to 'Edit', edit_order_products_path(product) %></td>
<td><%= link_to 'Destroy', order, :confirm => 'Are you sure?', :method => :delete %></td>
</tr>
<% end %>
私のインデックスメソッドは、次のようになります。
def index
@order = Order.find(params[:order_id])
@products = Product.all
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @products }
end
end
エラーは、私の@productsオブジェクトがnilであることを示しています。ただし、コンソールProduct.allで4つの項目が返されます。
私はnewbです。これは初めてネストされたリソースを参照しています。インスタンス変数@productsを使用して間違って呼び出している可能性がありますか?
ありがとう