使用has_many创建表分类:through用于类别和帖子

时间:2017-12-20 19:20:04

标签: ruby-on-rails ruby ruby-on-rails-4 sqlite3-ruby

嘿伙计们,我正在做一个has_many:通过在ruby on rails上的关联。 如果我的例子可以,我想要一些帮助。 所以我假装为帖子做类别。 假设我已经建立了课程帖子。 因此,为了创建类别的数据库,我假装这样做:

class CreateCategories < ActiveRecord::Migration[5.0]
  def change
    create_table :categories do |t|
      t.string :name
      t.timestamps
    end
  end

  def change
    create_table :categorizations do |t|
      t.belongs_to :post, index: true
      t.belongs_to :category, index: true
      t.integer :position

      t.timestamps
    end

    add_index :categorizations, [:product_id, :category_id], unique: true
  end
end

这些索引可以提升数据库吗?

1 个答案:

答案 0 :(得分:1)

是的,您在底部定义的多列索引:

add_index :categorizations, [:product_id, :category_id], unique: true

有效。 但是它也是不必要的,并且可能不如您在product_idcategory_id上单独定义的单列索引那样高效。