私はこれらのモデルを持っています
class Product < ActiveRecord::Base
# fields: name, weight, expiry_date, active...
has_many :categorizations
has_many :categories, :through => :categorizations
end
class Category < ActiveRecord::Base
# fields: name, active...
has_many :categorizations
has_many :products, :through => :categorizations
end
class Categorization < ActiveRecord::Base
# fields: user_id, type, priority, product_id, category_id...
belongs_to :product
belongs_to :category
validates :user_id, :presence => { :message => "Must be filled" }
end
_form.html.erb
<%= form_for @product do |f| %>
<%= f.error_messages %>
<%= f.text_field :name %>
<%= f.select :category_ids .... {:multiple => true} %>
<% end %>
パラメーター:
{"product"=>{"name"=>"sdf", "category_ids" => ["1", "2"]}, "commit"=>"Create Product"}
質問: user_id、priorityなどのいくつかの追加フィールドをcategoriztionテーブルに保存するにはどうすればよいですか?
製品の初期化後に分類オブジェクトにアクセスしようとしましたが、空の配列があります。例えば
@product = Product.new(params[:product]) # {"product"=>{"name"=>"sdf", "category_ids" => ["1", "2"]}, "commit"=>"Update Document"}
@product.categorizations => []