1

ユーザーが作成した製品にカテゴリを割り当てることができるようにするための最良の方法は何ですか?現在、中間の分類モデルを介して製品モデルとカテゴリモデルを接続しています。

product.rb

class Product < ActiveRecord::Base
  attr_accessible :description, :name

  has_many :categorizations
  has_many :categories, :through => :categorizations
end

category.rb

class Category < ActiveRecord::Base
  attr_accessible :name

  has_many :categorizations
  has_many :products, :through => :categorizations
end

categorization.rb

class Categorization < ActiveRecord::Base
  attr_accessible :category_id, :product_id  # Should I leave these accessible?

  belongs_to :product
  belongs_to :category
end

私は最終的にそれをターミナルで次のように機能させようとしています:

> product = Product.create(name: "Product A", description: "Product A description")
> Category.create(name: "Cat A")
> product.categories
> []
> product.categories = "Cat A"
4

1 に答える 1

1

「CatA」という名前のカテゴリを作成していますが、product.categoriesに文字列「CatA」を割り当てています。

これを試して:

product.categories.create(:name => "Cat A")
于 2013-03-17T01:49:49.480 に答える