鉴于以下模型
class User < ApplicationRecord
has_and_belongs_to_many :workspaces
end
class Workspace < ApplicationRecord
has_and_belongs_to_many :users
end
此代码会将记录插入workspaces
和users_workspaces
:
User.last.workspaces.create
但是,这个不插入users_workspaces
:
User.last.workspaces.new.save
我需要这样做:
w = Workspace.new
w.users << User.last
w.save
为什么?
答案 0 :(得分:0)
您需要使用#build
方法,例如:
User.last.workspaces.build.save
collection.build(attributes = {})
返回集合类型的新对象,该对象已使用属性进行实例化,并通过连接表链接到此对象,但尚未保存。