gpt4 book ai didi

ruby-on-rails - factory_girl transient 属性的未定义方法

转载 作者:数据小太阳 更新时间:2023-10-29 07:59:16 25 4
gpt4 key购买 nike

我正在开发 Rails 3 ( rails (3.2.13) ) 应用程序,我正在使用 factory_girl_rails (4.5.0)rspec (2.13.0) .

我有一个 delivery看起来像这样的工厂

FactoryGirl.define do

factory :delivery do

trait :assigned do
delivery_type 1
end

trait :started do
delivery_type 2
end

factory :delivery_with_jobs do

ignore do
jobs_count = 2
duration = 10
end

after(:create) do |delivery, evaluator|
create_list(:job, evaluator.jobs_count, delivery: delivery, client: delivery.client)
end
end
end
end

我尝试像这样在我的规范中实例化

let!(:delivery_with_jobs) {
FactoryGirl.create(
:delivery_with_jobs,
:started,
jobs_count: 3,
user: user,
current_user: user,
account: user.account,
client: client
)
}

问题是我不断收到 NoMethodError: undefined method 'jobs_count' for #<FactoryGirl::SyntaxRunner:0x000000079e5f00>在运行测试时以及尝试在 Rails 控制台中创建工厂时。我使用的是较低版本的 factory_girl第一and have found this post .所以我尝试将关键字更改为 ignore这没有帮助,所以我尝试升级也没有帮助的工厂女孩​​。

当我从 FactoryGirl.create(:delivery_with_jobs) 中省略 jobs_count 参数时,我也会遇到同样的错误.

我做错了什么吗?您对导致此问题的原因有什么建议吗?

提前致谢。

最佳答案

你的忽略/ transient block 不应该有 =s

ignore do
jobs_count 2
duration 10
end

关于ruby-on-rails - factory_girl transient 属性的未定义方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32024628/

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