Ruby on rails &引用;未定义的方法`deleted_at=';对于#<;Spree::用户“;,即使这个栏目存在
当我在测试中执行Ruby on rails &引用;未定义的方法`deleted_at=';对于#<;Spree::用户“;,即使这个栏目存在,ruby-on-rails,factory-bot,spree,Ruby On Rails,Factory Bot,Spree,当我在测试中执行create(:user)时,我得到一个错误:undefined method deleted_at=”for#当我从solidus gem复制spec/spec\u helper时,我忘记了更新一些东西 我通过加载正确的环境修复了spree_users.deleted_at bug: require File.expand_path("../dummy/config/environment", __FILE__) 22 应该是: require File.expand_pa
create(:user)
时,我得到一个错误:undefined method deleted_at=”for#当我从solidus gem复制spec/spec\u helper
时,我忘记了更新一些东西
我通过加载正确的环境修复了spree_users.deleted_at bug:
require File.expand_path("../dummy/config/environment", __FILE__) 22
应该是:
require File.expand_path("../../config/environment", __FILE__)
谢谢你们的建议,伙计们-D错误发生在哪一行?请添加您尚未添加的任何行。嗨,阿德里安,我已经更新了问题。当执行create(:user)
时会发生这种情况。我用byebug停止测试并自己输入,触发了它。你在哪里分配删除的\u?你能把那个代码包括进去吗?@MichalSzyndel我不在任何地方分配deleted\u。当我运行create(:user)
:.“deleted\u at”为NULL)LIMIT 1时,正在进行查询。我还没有弄清楚是什么导致了这个查询。那么,这是第一步。看看你的工厂,也许就在那里deleted_at=
方法在rails模型上不可用。
$ psql Solidus_test
psql (9.4.5)
Solidus_test=# \d spree_users
Table "public.spree_users"
Column | Type | Modifiers
------------------------+-----------------------------+----------------------------------------------------------
deleted_at | timestamp without time zone |
(byebug) Spree::User.column_names
["id", "encrypted_password", .....]
$ grep 'test' config/database.yml -A2
test:
<<: *default
database: Solidus_test
✗ RAILS_ENV=test r c
Running via Spring preloader in process 4092
Loading test environment (Rails 4.2.5)
irb: warn: can't alias context from irb_context.
2.2.3 :001 > Spree::User.column_names
=> ["id", "encrypted_password", "password_salt", "email", "remember_token", "persistence_token",
"reset_password_token", "perishable_token", "sign_in_count", "failed_attempts", "last_request_at",
"current_sign_in_at", "last_sign_in_at", "current_sign_in_ip", "last_sign_in_ip", "login",
"ship_address_id", "bill_address_id", "authentication_token", "unlock_token", "locked_at",
"reset_password_sent_at", "created_at", "updated_at", "spree_api_key", "remember_created_at",
"deleted_at", "confirmation_token", "confirmed_at", "confirmation_sent_at"]
require File.expand_path("../dummy/config/environment", __FILE__) 22
require File.expand_path("../../config/environment", __FILE__)