Ruby on rails 工厂属性的未定义方法
我正在开发rails 3(Ruby on rails 工厂属性的未定义方法,ruby-on-rails,ruby,ruby-on-rails-3,rspec,factory-bot,Ruby On Rails,Ruby,Ruby On Rails 3,Rspec,Factory Bot,我正在开发rails 3(rails(3.2.13))应用程序,我正在使用factory\u girl\u rails(4.5.0)和rspec(2.13.0) 我有一个交货工厂,看起来像这样 FactoryGirl.define do factory :delivery do trait :assigned do delivery_type 1 end trait :started do delivery_type 2 end
rails(3.2.13)
)应用程序,我正在使用factory\u girl\u rails(4.5.0)
和rspec(2.13.0)
我有一个交货
工厂,看起来像这样
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
)
}
我试着在我的规范中这样实例化
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
)
}
问题是,在运行测试和尝试在rails控制台中创建工厂时,我不断得到#的未定义方法“jobs\u count”。我第一次使用的是较低版本的factory\u girl
。因此,我尝试将关键字更改为忽略
,这没有帮助,因此我尝试升级factory girl,这也没有帮助
当我从FactoryGirl.create(:delivery\u with\u jobs)
中省略jobs\u count参数时,我也会遇到同样的错误
我做错什么了吗?您对导致此问题的原因有何建议
提前感谢。您的忽略/瞬态块不应具有=s
ignore do
jobs_count 2
duration 10
end
是的,非常感谢,我检查了几百次,没有发现这样的语法错误,但没有注意到…可能是重复的,我在我的问题中引用了那篇文章。这不是解决我问题的办法,我在问题中也提到了这一点。问题出在瞬态变量定义中的“=”中