我有两个模型-志愿者和注册。
志愿者更加稳定,但是注册者会来去去。我正在尝试通过在我的志愿者模型的注册模型中使用外键来为志愿者分配新的注册。
我查看了here和here并最终创建了一个包含注册和志愿者ID的联接表:
class CreateJoinTable < ActiveRecord::Migration[5.0]
def change
create_join_table :registrations, :volunteers do |t|
t.index [:registration_id, :volunteer_id], name: :reg_vol_index
t.index [:volunteer_id, :registration_id], name: :vol_reg_index
end
end
end
在我的两个模型中,我不完全确定将关联列出为什么-我已经了解过has_many,belongs_to和has_many_and_belongs_to-以及t.reference。
我只希望能够将志愿者ID分配给注册。
任何人都可以帮助您确定最佳的关联类型吗?
谢谢!
答案 0 :(得分:1)
已经创建了联接表,您可以为两个模型使用npm install --save isomorphic-fetch es6-promise
关联。
volunteer.rb:
has_and_belongs_to_many
registration.rb:
class Volunteer < ApplicationRecord
has_and_belongs_to_many :registrations
end
这将允许您通过志愿者(class Registration < ApplicationRecord
has_and_belongs_to_many :volunteers
end
)和通过志愿者(volunteer.registrations
)访问注册
参见此处:https://guides.rubyonrails.org/association_basics.html#the-has-and-belongs-to-many-association