使用rails控制台在HABTM关系中填充连接表

时间:2016-06-20 01:45:42

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

我有以下型号:

class Institute < ActiveRecord::Base
    has_and_belongs_to_many :users
end

class User < ActiveRecord::Base
    has_and_belongs_to_many :institutes
end

我有一个联接表&#34; institutes_user&#34;。使用Rails控制台,当我创建属于特定Institute的新用户时(假设它已经存在),如何自动填充此表?

当我使用&#34;创建&#34;从rails控制台创建用户的方法(并传入institute_id),它不会填充连接表。

谢谢!

1 个答案:

答案 0 :(得分:1)

你可以使用&#34;铲子&#34;运营商。例如,

Institute.first.users << User.new(first_name: "A", last_name: "B", email: "C")

将在User表格中插入新的users记录,并在institute_users表格中插入新的加入行。

您可以通过has_and_belongs_to_many here查看添加到课程中的其他方法列表。