Ein Anfänger hier, also, bitte ertragen Sie mit mir. :)Teilweise gerendert in index.html.erb Wird nicht in show.html.erb angezeigt
Ich habe eine teilweise in einem Teil das ist richtig in meinem views > products > index.html.erb
Anzeige:
<div>
<table>
...
<tbody>
<%= render product %>
</tbody>
...
</table>
</div>
Dies ist der _product
Teil ist:
<div>
<td>
<%= render "product_row", product: product, order_item: @order_item %>
</td>
</div>
..welche Punkte auf diese _product_row
Teil:
<div>
<%= form_for order_item, remote: true do |f| %>
<%= number_to_currency product.price %>
<%= f.number_field :quantity, value: 1, class: "form-control", min: 1 %>
<%= f.hidden_field :product_id, value: product.id %>
<%= f.submit %>
<% end %>
</div>
Alles ist gut, ABER ich Ich möchte stattdessen _product_row
in meinem views > products > show.html.erb
anzeigen. Also, ich kopieren und fügen Sie ihn und diese Fehlermeldung erhalten:
NameError in Products#show
undefined local variable or method `product' for #<#<Class:...>
Extracted source:
<%= render "product_row", product: product, order_item: @order_item %>
... so gehe ich in meinem products_controller
und setzen diese:
def show
@product = Product.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @product }
end
end
‚immer noch die gleichen Fehler.
Jede Hilfe wird geschätzt.
Danke!
mit diesem Rennen, ging ich in meinem 'products_controller' und setzen diese: ' def Index @product = Product.find (params [: id]) end' und immer noch die gleichen Fehler. :( –
Wenn Sie mit dem traditionellen Routing-Routing gehen, dann akzeptiert der 'products_controller> index' keinen ** id ** -Parameter. Wenn Sie dies also tun möchten, müssen Sie die Indexmethodenroute anpassen. – Emu
Okay, modifiziere 'methods> product.rb' mit einer Regel für' index'. 'Werde das später versuchen. Danke! :) –