gpt4 book ai didi

ruby-on-rails - FactoryGirl owns_to 关联和 validates_presence_of 失败 - 外键已关联,但对象未关联

转载 作者:行者123 更新时间:2023-12-02 13:53:49 25 4
gpt4 key购买 nike

从 FactoryGirl 2.5.2 升级到 4.5.0 后,belongs_to 关联验证失败。

两个模型文件:

class User < ActiveRecord::Base    
...
has_many :things
...
end

class Thing < ActiveRecord::Base
...
belongs_to :user
validates_presence_of :user
...
end

工厂:

FactoryGirl.define
factory :thing do
association :user
...
end
end

创建新的事物总是失败,提示必须提供用户。当我进入代码时,问题是外键设置正确,但关联的对象似乎为零。

>> user = create(:user)
( returns saved "user" object )
>> user.id
1
>> thing = build(:thing, user: user)
( returns new "thing" object )
>> thing.valid?
false
>> thing.user_id
1
>> User.find(1).present?
true
>> thing.user
nil

我已经尝试了各种组合和变化。我尝试使用 after(:build) block 来设置用户并使用不同的 FactoryGirl 语法。我尝试过只使用普通的用户而不是关联。但它总是归结为这个问题 - 有一个关联的键,并且它是正确的,但没有关联的对象(即使该对象存在并已保存)。

环境:

ruby 2.1.5

factory_girl 4.5.0
factory_girl_rails 4.5.0
rails 4.2.0
rspec 3.1.0

最佳答案

您需要定义一个用户工厂。如果您已这样做,请编辑您的答案以显示它。

关于ruby-on-rails - FactoryGirl owns_to 关联和 validates_presence_of 失败 - 外键已关联,但对象未关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27727427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com