我有一个has_many_through
关联,其中User
有许多Project
到ProjectUser
.Rails有一些神奇的功能,可以通过以下方式更新这种关系:
u = User.first
u.update(project_ids: [...])
有没有一种干净利落的方法来用create
做同样的事情?
运行User.create(name: ..., project_ids: [...])
失败,返回Validation failed: Project users is invalid
.
我怀疑这是因为Rails试图在创建User
记录之前创建ProjectUser
记录,并且在连接表上有一些内置的验证,以验证连接的两端是否已经存在.ProjectUser
型号没有定制验证.
class ProjectUser < ApplicationRecord
belongs_to :project
belongs_to :user
end
有什么简单的方法可以绕过这个问题吗?