J'ai une relation de plusieurs à plusieurs entre deux modèles, l'ordre et le produit. Une table de jointure appelée Lignes permet aux utilisateurs d'ajouter des quantités aux produits qu'ils souhaitent commander.Rails 3 - Vue d'index sur les ressources imbriquées
J'ai des produits imbriqués dans les ordres pour que mes itinéraires ressemblent à ce qui suit:
resources :orders do
resources :products, :controller => "products"
end
end
J'ai pu aller avec succès à l'index (commandes/id/produits) si mon index.html.erb est juste un espace réservé, cependant, en essayant d'afficher des données, j'ai des problèmes.
Mes produits table qui est la moindre erreur (sur le <% @ products.each ... ligne) se présente comme suit:
<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 %>
Ma méthode d'index se présente comme suit:
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
L'erreur indique que mon objet @products est nul; Cependant, dans la console Product.all renvoie 4 éléments.
Je suis un newb et c'est la première fois que je référence des ressources imbriquées, est-il possible que j'essaie simplement de l'appeler incorrectement en utilisant la variable d'instance @products?
Merci