我正在将我的rails 2应用程序升级到rails 3.我在测试套件中使用了rspec,shoulda和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。
答案 0 :(得分:2)
你有一个名为'改变'的专栏吗?我怀疑它与ActiveRecord冲突,你可能需要重命名它。