Rails:插入没有任何模型的表中

时间:2017-10-30 12:52:37

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

我是铁杆新手。

我有三个表A,B和C,其中关系是C属于A到B.现在我想在B中插入一个新的条目来建立A和C之间的另一个关系。但问题是该模型因为我没有在我正在进行的项目中创建。通过将用于B的create table命令放入表C的create table迁移文件中来创建表B.表b的结构是(id,A_id,C_id)。

create_table :C do |t|
    t.string :name
end

create_table :B do |t|
    t.belongs_to :A
    t.belongs_to :C
end

所以我不知道如何构建映射到表B.我想到的一种方法是通过将相应记录的id插入表B来创建A和C之间的映射。但是因为B的模型没有& #39; t存在,所以我无法这样做。

有人可以解释或指出适当的资源吗?

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题。在我的情况下,推动了诀窍。

举一个例子:假设我们有两个表Doctors和Shifts,并且使用doctors_shift连接。因此,如果您想为医生添加移位,您可以使用

Doctor.find_by(id:doctor_id).shifts.push(instance_of_shift_you_want_to_add)

,其中for instance_of_shift_you_want_to_add你基本上可以使用Shift.find_by(id:shift_id)