在RoR中创建关联

时间:2018-09-30 20:30:59

标签: ruby-on-rails

在我的表单中,我选择了type_control_access,其中有三个选项,用户可以选择要保存在名为control_accesses的表的列中的选项。

我的模特type_control_access

class TypeControlAccess < ActiveRecord::Base

  has_many :control_accesses

  WORKSHOPS = 1
  CONFERENCES = 2
  PAPERS = 3

end

我的模特control_access

class ControlAccess < ActiveRecord::Base

  belongs_to :type_control_access

end

但我已经有一个现有表:

class CreateControlAccesses < ActiveRecord::Migration
  def change
    create_table :control_accesses do |t|
      t.string :name
      t.string :description

      t.timestamps null: false
    end
  end
end

我想将type_control_access的ID保存在type_control_access_id的{​​{1}}中,但是通过Rails关联,我该怎么做?

我想要这样的东西:

control_access

1 个答案:

答案 0 :(得分:1)

据我的理解,您应该创建新的迁移,以便在表之间添加新的引用字段:

终端中的示例:

rails g migration AddTypeControlAccessToCreateControlAccesses TypeControlAccess:references

在擦rails db:migrate之后,那将起作用。