初學者在這裏,所以請耐心等待。 :)index.html.erb中的部分渲染將不會顯示在show.html.erb中
我有一個部分的部分多數民衆贊成正確顯示在我的views > products > index.html.erb
:
<div>
<table>
...
<tbody>
<%= render product %>
</tbody>
...
</table>
</div>
這是_product
部分:
<div>
<td>
<%= render "product_row", product: product, order_item: @order_item %>
</td>
</div>
..這點,這_product_row
部分:
<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>
一切都很好,但我想在我的views > products > show.html.erb
中顯示_product_row
。所以,我複製和粘貼,並得到這個錯誤:
NameError in Products#show
undefined local variable or method `product' for #<#<Class:...>
Extracted source:
<%= render "product_row", product: product, order_item: @order_item %>
...所以我走在我的products_controller
,並把這個:
def show
@product = Product.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @product }
end
end
「還是同樣的錯誤。
任何幫助將不勝感激。
謝謝!
這個跑步,我在'products_controller'去了,把這個: '高清指數 @product = Product.find(PARAMS [:編號]) end' ,仍然得到同樣的錯誤。 :( –
如果你使用傳統的rails路由,那麼'products_controller> index'不接受任何** id **參數。因此,如果你想這樣做,那麼你需要自定義索引方法route。 – Emu
好的,修改'methods> product.rb''的規則爲'index'。'稍後再試。謝謝!:) –