Ruby on rails 3 如何使用has\u may:通过保存额外字段值

Ruby on rails 3 如何使用has\u may:通过保存额外字段值,ruby-on-rails-3,has-many-through,Ruby On Rails 3,Has Many Through,我有这些模型 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...

我有这些模型

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
问题:如何在分类表中保存一些附加字段,如用户id、优先级

我试图在初始化产品后访问分类对象,但存在空数组。比如说

@product = Product.new(params[:product]) # {"product"=>{"name"=>"sdf", "category_ids" => ["1", "2"]}, "commit"=>"Update Document"}
@product.categorizations => []
{"product"=>{"name"=>"sdf", "category_ids" => ["1", "2"]}, "commit"=>"Create Product"}
@product = Product.new(params[:product]) # {"product"=>{"name"=>"sdf", "category_ids" => ["1", "2"]}, "commit"=>"Update Document"}
@product.categorizations => []