このトピックのフォローアップ: (Rails) 親のフォームで子レコード (1 対多) を表示する方法は?
多くの製品を含むカテゴリを作成しています。そこで、ユーザー Chandra Patni が提案したように、Formtastic を使用します。しかし、product.rb に attr_accessible を追加したときに問題があることがわかりました。
class Product < ActiveRecord::Base
validates_presence_of :title, :price
validates_numericality_of :price
validates_uniqueness_of :title
attr_accessible :category_id, :name
belongs_to :category
end
そして、これはcategory.rbです:
class Category < ActiveRecord::Base
attr_accessible :name
has_many :products
end
attr_accessible :category_id, :name を追加した後、入力しても検証が狂ってしまい、テキスト値で null として扱われます。しかし、attr_accessible :category_id, :name を削除すると、すべてが機能します。
もう1つ、 products/new.html.erb に、商品情報を入力するためにこれを作成しましたが、
<% semantic_form_for @product do |f| %>
<% f.inputs do %>
<%= f.input :title %>
<%= f.input :price %>
<%= f.input :photoPath %>
<%= f.input :category %>
<% end %>
<%= f.buttons %>
<% end %>
しかし、カテゴリ名ではなく :category id を返すことがわかりました。私は何をすべきか?高度なThx。