ruby-on-rails – 在ruby中使用`include?`来检查是否存在哈希值

我知道怎么包括?然而,使用多维数组或散列(这可能与哈希一起使用)并不是很清楚吗?

例如,鉴于我有一个看起来像这样的哈希:

@ user.badges => [{:id => 1,:name => ‘blahh’,:description => ‘blah blah blah’},{:id => 2,:description => ‘等等等等等等’}]

我可以看看它是否有像这样的id为1的对象?

if @user.badges.include?(:id => 1)
  # do something
end

它似乎不起作用,我怎么能正确地编写这个方法

解决方法

这不是有效的Ruby语法.你要:
@user.badges.any? { |b| b[:id] == 1 }

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...