在 Ruby 中对已存在的查找方法使用查找方法显示 NoMethodError
Using Find Method on an already existing Find Method in Ruby showing NoMethodError
如问题所述,我正在尝试使用 .find
方法,但我得到的是 Nil 对象的 NoMethodError
。
我知道这是 正常行为 这是有道理的,但是无论如何我可以改进代码以避免使用 .find
两次吗?
这是我的代码目前的样子:
@device = Device.find(:all).find{|device| device.uuid == @token.uuid}
RubyMine 正在突出显示第二种 .find
方法:
.find{|device| device.uuid == @token.uuid}
带有警告说:
Method invocation 'find' may produce 'NoMethodError'
我意识到这可能不是解决此问题的最佳方法。任何人都可以帮忙提出建议吗?也许告诉我是否通过删除第二个 .find()
我会得到相同的结果!
非常感谢所有回答。
试试这个方法
@device = Device.find(:all, :conditions => { :uuid => @token.uuid })
如问题所述,我正在尝试使用 .find
方法,但我得到的是 Nil 对象的 NoMethodError
。
我知道这是 正常行为 这是有道理的,但是无论如何我可以改进代码以避免使用 .find
两次吗?
这是我的代码目前的样子:
@device = Device.find(:all).find{|device| device.uuid == @token.uuid}
RubyMine 正在突出显示第二种 .find
方法:
.find{|device| device.uuid == @token.uuid}
带有警告说:
Method invocation 'find' may produce 'NoMethodError'
我意识到这可能不是解决此问题的最佳方法。任何人都可以帮忙提出建议吗?也许告诉我是否通过删除第二个 .find()
我会得到相同的结果!
非常感谢所有回答。
试试这个方法
@device = Device.find(:all, :conditions => { :uuid => @token.uuid })