rails3, rspec2 ActiveRecord#changes 规格中的错误
Posted
技术标签:
【中文标题】rails3, rspec2 ActiveRecord#changes 规格中的错误【英文标题】:rails3, rspec2 ActiveRecord#changes error in specs 【发布时间】:2011-05-19 19:07:47 【问题描述】:我正在将我的 rails 2 应用程序升级到 rails 3。我在测试套件中使用 rspec、should 和 factory girl。
一个特定的模式导致了一个错误,我很难研究和解决。
# cart controller spec
@cart = Factory.build(:cart, :payment_status => "authorized", :user_id => @user.id)
2.times Factory(:cart_item, :cart => @cart)
我得到这个规范失败:
changes is defined by ActiveRecord
./spec/controllers/cart_controller_spec.rb:41
./spec/controllers/cart_controller_spec.rb:41:in `times'
./spec/controllers/cart_controller_spec.rb:41
调用#times 方法是安全的(当我输入2.times puts "hi"
时不会引发错误),但我无法看到#changes 是如何在此处被调用的。
【问题讨论】:
【参考方案1】:您有一个名为“更改”的栏目吗?我怀疑它与 ActiveRecord 冲突,您可能需要重命名它。
【讨论】:
另见***.com/questions/1510875/…以上是关于rails3, rspec2 ActiveRecord#changes 规格中的错误的主要内容,如果未能解决你的问题,请参考以下文章