强制创建具有 belongs_to 关联的记录
Force create a record with a belongs_to association
我有 2 个模型。工作和用户。用户 has_many :jobs
和工作 belongs_to :user
我是否可以在不定义用户的情况下使用 Job.create(location: "test")
创建工作记录?如果我目前尝试这样做,我会收到 Couldn't find User with 'id'=
错误。我认为这是因为协会。
有什么方法可以在没有用户 ID 的情况下执行此操作?我只想稍后添加 user_id 。
谢谢!
抱歉,我意识到这是我代码的不同部分不允许我这样做。你可以很容易地做到这一点。
明确地说,是的这是可能的。
模型中的关联仅用于在数据表中设置 foreign keys
。因此,如果您想创建一个 Job
(虽然它是 belongs_to :user
),您可以设置所有您想要的属性,然后稍后更新 :user_id
。
这是一个很好的reference:
这显示了典型 belongs_to
/ has_many
关联的数据表结构。关联这两个对象时,需要有正确的foreign_key
,你可以随意填充它们。
我有 2 个模型。工作和用户。用户 has_many :jobs
和工作 belongs_to :user
我是否可以在不定义用户的情况下使用 Job.create(location: "test")
创建工作记录?如果我目前尝试这样做,我会收到 Couldn't find User with 'id'=
错误。我认为这是因为协会。
有什么方法可以在没有用户 ID 的情况下执行此操作?我只想稍后添加 user_id 。
谢谢!
抱歉,我意识到这是我代码的不同部分不允许我这样做。你可以很容易地做到这一点。
明确地说,是的这是可能的。
模型中的关联仅用于在数据表中设置 foreign keys
。因此,如果您想创建一个 Job
(虽然它是 belongs_to :user
),您可以设置所有您想要的属性,然后稍后更新 :user_id
。
这是一个很好的reference:
这显示了典型 belongs_to
/ has_many
关联的数据表结构。关联这两个对象时,需要有正确的foreign_key
,你可以随意填充它们。