Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 rails3,rspec2 ActiveRecord#规格更改错误_Ruby On Rails 3_Rspec2_Factory Bot_Shoulda - Fatal编程技术网

Ruby on rails 3 rails3,rspec2 ActiveRecord#规格更改错误

Ruby on rails 3 rails3,rspec2 ActiveRecord#规格更改错误,ruby-on-rails-3,rspec2,factory-bot,shoulda,Ruby On Rails 3,Rspec2,Factory Bot,Shoulda,我正在将我的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, :c

我正在将我的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的。

是否有一个名为“changes”的列?我怀疑它与ActiveRecord冲突,您可能需要重命名它。

另请参阅