Force使用belongs_to关联创建记录

时间:2015-12-17 05:48:37

标签: ruby-on-rails has-many belongs-to

我有2个型号。工作和用户。用户has_many :jobs和作业belongs_to :user

我是否可以在不定义用户的情况下使用Job.create(location: "test")创建作业记录?如果我现在尝试这个,我会收到Couldn't find User with 'id'=错误。我认为这是因为这种关联。

如果没有用户名,我可以这么做吗?我想稍后再添加user_id。

谢谢!

2 个答案:

答案 0 :(得分:1)

要明确,这是可能的。

模型中的关联仅用于在数据表中设置foreign keys。因此,如果您想创建Job(尽管它为belongs_to :user),您可以设置所需的所有属性,然后稍后更新:user_id

这是一个很好的reference

enter image description here

这显示了典型belongs_to / has_many关联的数据表结构。在关联这两个对象时,您需要使用正确的foreign_key,您可以根据需要填充它们。

答案 1 :(得分:0)

道歉我意识到这是我的代码的一个不同部分,不允许我这样做。你可以轻松地做到这一点。