Rspec 命名错误:未定义的方法标题';零级:零级

Rspec 命名错误:未定义的方法标题';零级:零级,rspec,ruby-on-rails-4,nameerror,Rspec,Ruby On Rails 4,Nameerror,我在使用RubyonRails和rspec方面是新手 当我尝试为Mymodel Controller执行rspec测试时,我遇到了这个问题 当我通过浏览器访问页面时,Mymodel正在按预期工作。。。但是当我执行rspec测试时失败了 class MymodelController < ApplicationController def show @model = Mymodel.find(:first, :conditions => { :title => "Mo

我在使用RubyonRails和rspec方面是新手

当我尝试为Mymodel Controller执行rspec测试时,我遇到了这个问题

当我通过浏览器访问页面时,Mymodel正在按预期工作。。。但是当我执行rspec测试时失败了

class MymodelController < ApplicationController
  def show
    @model = Mymodel.find(:first, :conditions => { :title => "Model-Title" } );
  end
end
有什么线索吗

谢谢

编辑:以下是遇到的错误:

Failures: 

1) MymodelsController GET 'show' assigns model should have 'Model-Title' as title 
Failure/Error: expect(assigns(:model).title).to eq("Model-Title") 
NoMethodError: undefined method title' for nil:NilClass  
#./spec/controllers/mymodels_controller_spec.rb:15:in block (3 levels) in <top (required)>' The 

对应的代码行是:
expect(assignments(:model))。要成为一个(Mymodel)
您在测试中没有创建任何
Mymodel
实例,因此推测
Mymodel.find
将返回
nil
,这解释了您在编辑(第一个示例)和注释中显示的错误(对于第二个示例)


您在标题和问题正文中显示的
namererror
很可能是由于试图使用
赋值(模型)
,以那种方式失败。

这是你测试的准确副本/粘贴吗?是的!我试图在
eq
be_a
中添加括号,但我仍然有问题……这次它为nil:NilClass'显示
未定义方法
标题“你能显示你的回溯并从你的源代码?MymodelsController位于mymodels_controller.rb文件中的
app/controllers/
目录下。对于命名,我只是想看看这是否会有问题,但我得到了相同的错误…我确实遵循了复数约定OK,如果
@model
nil
i,那么这个错误是完全有意义的在控制器上,这就是您将遇到的错误。您的问题指示了
namererror
,但是有一条不同的错误消息。您是对的!我错过了相应主题的创建。非常感谢您。
namererror
是否来自您尝试
分配(模型)的运行
而不是
分配(:模型)
?是的,这是可能的!我尝试了
分配(模型)
以查看它是否能够解决问题。将来,您可能需要再次检查您共享的输出和代码是否一致。就我而言,我学到了我应该质疑代码和输出,而不仅仅是代码,就像我在最初的评论中所做的那样。我同意!这是因为我在尝试来自在我发布问题时/之后,我会编辑问题标题,使其与当前输出相对应,以避免混淆。
Failures: 

1) MymodelsController GET 'show' assigns model should have 'Model-Title' as title 
Failure/Error: expect(assigns(:model).title).to eq("Model-Title") 
NoMethodError: undefined method title' for nil:NilClass  
#./spec/controllers/mymodels_controller_spec.rb:15:in block (3 levels) in <top (required)>' The 
2) MymodelsController GET 'show' assigns @model as mymodel
 Failure/Error: expect(assigns(:model)).to be_a(Mymodel)
   expected nil to be a kind of Mymodel(id: integer, title: string, created_at: datetime, updated_at: datetime)
 # ./spec/controllers/mymodels_controller_spec.rb:10:in `block (3 levels) in <top (required)>'