カテゴリと商品があります。カテゴリには多くの商品があります。私は編集を編集することができるカテゴリを作成する、また、各カテゴリの削除製品を作成することができますが、各製品を編集したい。 私はlink_toを使用して特定のカテゴリの単一の製品にアクセスでき、製品コントローラは特定のカテゴリの製品を受け取ります。すべての製品は、そのカテゴリの属するカテゴリーのHTMLでRailsでサブカテゴリを更新する方法
は、製品の
<%= link_to 'Edit', edit_category_product_path(product.category, product) %>
コントローラーを持って、編集機能がある
@product = Product.where(params[:id])
はその後、私の編集HTMLは
<%= form_for @product do |f| %>
<% if @product.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@product.errors.count, "error") %> prohibited this product from being saved:</h2>
<ul>
<% @product.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :description %><br />
<%= f.text_area :description %>
</div>
<div class="field">
<%= f.label :price %><br />
<%= f.text_field :price %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
<%= link_to 'Back', category_products_path %>
Iであります製品を編集しようとするとこのエラーが発生する
NoMethodError in Products#edit
Showing C:/Sites/propoolpro6/app/views/products/edit.html.erb where line #3 raised:
undefined method `model_name' for ActiveRecord::Relation:Class
Extracted source (around line #3):
1: <h1>Editing product</h1>
2:
3: <%= form_for @product do |f| %>
4: <% if @product.errors.any? %>
5: <div id="error_explanation">
6: <h2><%= pluralize(@product.errors.count, "error") %> prohibited this product from being saved:</h2>
Rails.root: C:/Sites/propoolpro6
Application Trace | Framework Trace | Full Trace
app/views/products/edit.html.erb:3:in `_app_views_products_edit_html_erb___584392485_32651052'
Request
Parameters:
{"category_id"=>"1",
"id"=>"3"}
注::私は次の行がアレイ
@product = Product.where([ID]のparams)を作成すると思うこの2が、同じエラー、
<%= form_for(@product) do |f| %>
#<#:0x3e50740> **のためのエラー**未定義のメソッド 'product_path '** –
ALi
このエラーが発生したときに、リンクをクリックするか、 –
リンクを編集をクリックして... – ALi