Ich habe eine viele zu viele Beziehung zwischen zwei Modellen, Bestellung und Produkt. Es gibt eine Verbindungstabelle namens Lines, mit der Benutzer den Produkten, die sie bestellen möchten, Mengen hinzufügen können.Schienen 3 - Indexansicht auf verschachtelten Ressourcen
habe ich die Produkte innerhalb Aufträge verschachtelt so meine Routen wie folgt aussehen:
resources :orders do
resources :products, :controller => "products"
end
end
ich in der Lage habe erfolgreich auf den Index zu gehen (Aufträge/id/Produkte), wenn meine index.html.erb ist nur ein Platzhalter, aber beim Versuch, Daten anzuzeigen, habe ich Probleme.
Meine Produkte Tabelle, die erroring geführt wird (auf der <% @ products.each ... Zeile) sieht wie folgt aus:
<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 %>
sieht mein Index-Methode wie folgt aus:
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
Der Fehler besagt, dass mein @ products-Objekt null ist; In der Konsole gibt Product.all jedoch 4 Elemente zurück.
Ich bin ein Newb und das ist mein erstes Mal Referenzen geschachtelte Ressourcen, ist es möglich, ich versuche einfach, es falsch mit der Instanzvariablen @products zu nennen?
Dank