Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.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 为什么不是';t Rspec是否重新加载数据库表的内容?_Ruby On Rails_Rspec - Fatal编程技术网

Ruby on rails 为什么不是';t Rspec是否重新加载数据库表的内容?

Ruby on rails 为什么不是';t Rspec是否重新加载数据库表的内容?,ruby-on-rails,rspec,Ruby On Rails,Rspec,集成规范包括: click_on "submit_order" order = Order.last binding.pry_remote 那么,为什么可能出现以下情况 我该如何修复它 From: /Users/steven/Dropbox/Testivate/spec/features/order_spec.rb @ line 44 : 43: order = Order.last => 44: binding.pry_remote [1] pry

集成规范包括:

click_on "submit_order"
order = Order.last
binding.pry_remote
那么,为什么可能出现以下情况

我该如何修复它

From: /Users/steven/Dropbox/Testivate/spec/features/order_spec.rb @ line 44 :

    43:       order = Order.last
 => 44:       binding.pry_remote

[1] pry(#<RSpec::Core::ExampleGroup::Nested_1::Nested_1>)> order
=> nil
[2] pry(#<RSpec::Core::ExampleGroup::Nested_1::Nested_1>)> Order.last
+----+----------+----------+----------+----------+----------+---------+----------+----------+----------+----------+
| id | company  | url      | comp1    | comp2    | comp3    | user_id | guest... | guest... | creat... | updat... |
+----+----------+----------+----------+----------+----------+---------+----------+----------+----------+----------+
| 1  | The Nile | http:... | http:... | http:... | http:... | 1       |          |          | 2014-... | 2014-... |
+----+----------+----------+----------+----------+----------+---------+----------+----------+----------+----------+
1 row in set
没有变化

更新II

当您将集成规范更改为

click_on "submit_order"
save_and_open_page
order = Order.last
…订单表将正确重新加载,订单是最后一个订单

但是为什么呢


没有对订单或用户的回调。

HTTP
POST
操作与数据库更新不同步,因此您的
订单。最后一次
方法调用可能在数据库写入完成之前完成。您可以通过等待提交已完成的肯定确认(例如重定向、快闪消息等)来“修复”此问题。

谢谢。我通过将我的
页面放在我的
order=order.last
之前来修复它。这迫使规范等待。
click_on "submit_order"
save_and_open_page
order = Order.last