为什么代码库中没有模型定义,而是数据库中的表?

时间:2014-04-14 21:27:29

标签: mysql sql ruby activerecord

我一直试图弄清楚为什么我的代码中找不到模型,即使表在数据库中。该表是多对多关系的交叉引用表。活动记录是否特别处理?该表仅包含两个外键和审计字段。我变得更加困惑的原因是因为我们有其他交叉参考表,我可以看到模型。

1 个答案:

答案 0 :(得分:0)

查看has_and_belongs_to_many association here

这不需要模型,但需要在您应该检查的迁移中输入一个条目。

摘自链接,示例模型:

class Assembly < ActiveRecord::Base
  has_and_belongs_to_many :parts
end

class Part < ActiveRecord::Base
  has_and_belongs_to_many :assemblies
end

示例迁移:

class CreateAssembliesAndParts < ActiveRecord::Migration
  def change
    create_table :assemblies do |t|
      t.string :name
      t.timestamps
    end

    create_table :parts do |t|
      t.string :part_number
      t.timestamps
    end

    create_table :assemblies_parts, id: false do |t|
      t.belongs_to :assembly
      t.belongs_to :part
    end
  end
end