Rails如何按类别在Product model中制作标签

时间:2015-04-01 11:48:29

标签: ruby-on-rails

我有模型产品(标题,描述,category_id)和类别(标题,描述)。

class Product < ActiveRecord::Base
  belongs_to :category

class Category < ActiveRecord::Base
  has_many :products

现在产品只能有一个类别并且它可以正常工作,但我想说,产品可以再添加一个类别,例如标签,但我无法理解......

1 个答案:

答案 0 :(得分:0)

您需要has_and_belongs_to_many关联 documented here

编辑:好的,你要求快速举例

Class Product < ActiveRecord::Base
  has_and_belongs_to_many :categories

class Category < ActiveRecord::Base
  has_and_belongs_to_many :categories

迁移

create_table :categories do |t|
  t.string :title
  ...

create_table :products do |t|
  t.string :title
  ...

create_table :categories_products, id: false do |t|
  t.belongs_to :category, index: true
  t.belongs_to :product, index: true
end

您可以访问产品类别

Product.find(1).categories