我有一个多对多的关系,两个模型,订单和产品。有一个名为“行”的联接表,用户可以向想要订购的产品添加数量。
我的产品嵌套在订单中,因此我的路线如下:
resources :orders do
resources :products, :controller => "products"
end
end
如果index.html.erb只是一个占位符,那么我可以成功地转到索引(orders/id/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
错误是声明my@products对象为零;但是,在控制台product.all中返回4项。
我是个新手,这是我第一次引用嵌套资源,有没有可能我只是使用实例变量@products错误地调用它?
谢谢