在共享示例中使用“be_routable”匹配器?

时间:2014-01-22 08:01:22

标签: ruby-on-rails rspec ruby-on-rails-3.2

看起来在共享示例中使用“be_routable”匹配器,而不是驻留在控制器或路由子目录中是不可能的?

如果我尝试

expect(get :edit, id: 1).not_to be_routable

我收到错误

Failure/Error: expect(get :edit, id: 1).not_to be_routable
ActionController::RoutingError:
   No route matches {:id=>"1", :controller=>"leads", :action=>"edit"}

我在控制器目录中包含这个共享示例,所以我猜这应该没问题

我已经尝试过将“type :: controller”添加到describe中,但似乎没有解决问题

有关如何解决此问题的任何建议?

1 个答案:

答案 0 :(得分:1)

从彼得的第一个答案开始,我终于开始检查语法,逐字逐句,以及它不起作用的原因是......冒号。如果你改变了

expect(get :edit, id: 1).not_to be_routable

expect(get: :edit, id: 1).not_to be_routable

它就像一个魅力!