Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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 模型无法接收来自方法的调用,即使该方法正在控制器中被调用_Ruby On Rails_Ruby_Rspec_Tdd - Fatal编程技术网

Ruby on rails 模型无法接收来自方法的调用,即使该方法正在控制器中被调用

Ruby on rails 模型无法接收来自方法的调用,即使该方法正在控制器中被调用,ruby-on-rails,ruby,rspec,tdd,Ruby On Rails,Ruby,Rspec,Tdd,我正在试着写一个测试,看看我的医院模型是否正在接受一个定制的方法look_for_hospitals 以下是测试: Rspec.description医院控制器,类型::控制器do 描述“#搜索”做什么 它“应该调用model方法来执行搜索”do #模型应为医院实施方法查找 期望(医院)。接收(:查找医院)。带有('关键字') #搜索页面中的表单必须命名为“关键字” 获取:搜索,参数:{:关键字=>'关键字'} 期望(分配(:医院)) 结束 结束 这是我的模型: class Hospital正

我正在试着写一个测试,看看我的医院模型是否正在接受一个定制的方法look_for_hospitals

以下是测试:

Rspec.description医院控制器,类型::控制器do
描述“#搜索”做什么
它“应该调用model方法来执行搜索”do
#模型应为医院实施方法查找
期望(医院)。接收(:查找医院)。带有('关键字')
#搜索页面中的表单必须命名为“关键字”
获取:搜索,参数:{:关键字=>'关键字'}
期望(分配(:医院))
结束
结束
这是我的模型:


class Hospital正如Tom Lord指出的,问题出在控制器开始时的
操作前的
行中。我只需要将它们存根,问题就消失了。

正如Tom Lord所指出的,问题出现在控制器开头的
操作之前的
行中。我只需要将它们存根,问题就解决了。

您试过调试它吗?你发现了什么?这个问题可能是由各种各样的事情引起的,但我很确定这是你在上面的帖子中没有展示的东西。(例如,在控制器上的_action
之前可能有一个
,这意味着该行代码永远不会执行?)正是这样。有人将Desive添加到项目中,我完全错过了行动前的
。非常感谢你!如果你不想结束这个问题,请留下你自己的答案,过几天你就可以接受了。因为你已经知道答案,所以这将有助于解决问题,而回答者不必通读它,只会意识到问题已经解决了。你明白了。我是新来的,如果我还不知道协议,很抱歉。你试过调试吗?你发现了什么?这个问题可能是由各种各样的事情引起的,但我很确定这是你在上面的帖子中没有展示的东西。(例如,在控制器上的_action
之前可能有一个
,这意味着该行代码永远不会执行?)正是这样。有人将Desive添加到项目中,我完全错过了行动前的
。非常感谢你!如果你不想结束这个问题,请留下你自己的答案,过几天你就可以接受了。因为你已经知道答案,所以这将有助于解决问题,而回答者不必通读它,只会意识到问题已经解决了。你明白了。我是新来的,如果我还不知道协议,很抱歉。
  1) HospitalsController#search should call the model method to do the search
     Failure/Error: expect(Hospital).to receive(:look_for_hospitals).with('keyword')

       (Hospital(id: integer, cnes: string, number: integer, address: text, latitude: string, longitude: string, name: string, phones: text, nature: string, specialties: text, rpa: string, microregion: string, created_at: datetime, updated_at: datetime) (class)).look_for_hospitals("keyword")
           expected: 1 time with arguments: ("keyword")
           received: 0 times