Rails activerecord。选择使对象具有所有nil属性

时间:2013-07-07 05:19:19

标签: ruby-on-rails spree

我使用的是Rails 3.2.13,Ruby 2.0.0p-p247和Spree 2.0.3。

在rails控制台或我的实际应用中使用activerecord,如果我运行:Spree::Product.select(:permalink).first我得到#<Spree::Product permalink: nil>

但是,如果我运行Spree::Product.first.permalink,我会得到"test",这是预期的固定链接。此外,Spree::Product.first会返回产品的整个activerecord关系。

我尝试在Spree::Product.create(name: "test", price: "100")中运行RAILS_ENV=development rails c,它按预期工作。如果我尝试RAILS_ENV=test rails c,我会得到一个SQL回滚和一个NoMethodError: undefined method '[]' for nil:NilClass

知道为什么这只发生在测试环境中?

1 个答案:

答案 0 :(得分:0)

这是spreei18n gem的错误,我提交了拉取请求。

https://github.com/spree/spree/commit/09b55f7be8720f0d6d16822f4ce23c961d1c66f5