gpt4 book ai didi

ruby-on-rails - ActiveRecord::UnknownAttributeError 在 rspec 但不是在控制台

转载 作者:行者123 更新时间:2023-11-28 21:31:14 27 4
gpt4 key购买 nike

我目前正在使用 Spree 电子商务。我已经编写了自己的扩展程序,实际上我可以在控制台中这样调用:

hash = 
{:email=>"test@2.pl",
:password=>"123123123",
:password_confirmation=>"123123123",
:profile_attributes=>
{:first_name=>"zdziski",
:last_name=>"fdfdi",
:position=>"dev",
:address_attributes=>
{"firstname"=>"Pal",
"lastname"=>"Zdzski",
"address1"=>"Kakaka",
"address2"=>"",
"city"=>"Bszcz",
"country_id"=>"72",
"zipcode"=>"323232",
"phone"=>"633336594"}}}

然后

u = Spree::User.create(hash)

并得到肯定的回应!惊人的!但是当我在我的 rspec 中调用它时出现问题

attributes = { email: "test@2.pl", password: "123123123", password_confirmation: "123123123", profile_attributes: { first_name:"pawel",last_name:"zmudzinski", position:"lol", address_attributes: {"firstname"=>"Pawel", "lastname"=>"Zmudzinski", "address1"=>"Kakaka", "address2"=>"", "city"=>"Bydgoszcz", "country_id"=>"72", "zipcode"=>"323232", "phone"=>"323432432"}  }}

然后

期望 { Spree::User.create(attributes)}.to change { Spree::Address.count }.by(1)

user = FactoryGirl.build(:user,profile_attributes: { first_name:"pawel",last_name:"zmudzinski", position:"lol", address_attributes: {"firstname"=>"Pawel", "lastname"=>"Zmudzinski", "address1"=>"Kakaka", "address2"=>"", "city"=>"Bydgoszcz", "country_id"=>"72", "zipcode"=>"323232", "phone"=>"1234325432"}  })

consol 中的响应是:

Failure/Error: expect { Spree::User.create(attributes)}.to change { Spree::Address }.by(1)
ActiveRecord::UnknownAttributeError:
unknown attribute: user_profile_id

现在怎么样了?为什么它在 Rails 控制台中有效,但在规范中却无效?

最佳答案

profile_attributes 是否是您的扩展的一部分 - 因为您的控制台内容并不能证明您的代码可以创建一个地址,只是一个用户。您的扩展程序在 Github 上的某个地方供我们试用吗?

关于ruby-on-rails - ActiveRecord::UnknownAttributeError 在 rspec 但不是在控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21587101/

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