在 Ruby 中现有的 Find 方法上使用 Find 方法显示 NoMethodError
正如问题所述,我正在尝试使用 .find
方法,但我收到了 Nil 对象的 NoMethodError
。
我知道这是正常行为,这是有道理的,但是我是否可以改进代码以避免使用 .find
两次?
这是我的代码目前的样子:
@device = Device.find(:all).find{|device| device.uuid == @token.uuid}
RubyMine 突出显示第二个 .find
方法:
<代码>.find{|设备| device.uuid == @token.uuid}
并带有警告:
方法调用“find”可能会产生“NoMethodError”
我意识到这可能不是解决此问题的最佳方法。有人可以帮忙提出建议吗?也许可以告诉我通过删除第二个 .find()
是否会得到相同的结果!
我非常感谢所有的答案。
As the question says, I am trying to use the .find
Method but I am getting a NoMethodError
for Nil Objects.
I understand that this is normal behaviour it makes sense, but is there anyway in which I could improve the code to avoid using the .find
twice?
This is how my code looks currently:
@device = Device.find(:all).find{|device| device.uuid == @token.uuid}
RubyMine is highlighting the second .find
method:
.find{|device| device.uuid == @token.uuid}
with a warning saying :
Method invocation 'find' may produce 'NoMethodError'
I realise this may not be the best way to go about this. Can anyone please help on suggestions? And maybe tell me whether by removing the second .find()
I'd get the same results!
I kindly appreciate all answers.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
试试这个方法
Try this way