我知道include?
是如何工作的,但是在使用多维数组或哈希时这是不是很清楚(这可能是哈希?)
例如,给定我的哈希值如下:
@user.badges => [{:id => 1, :name => 'blahh', :description => 'blah blah blah'}, {:id => 2, :name => 'blahh', :description => 'blah blah blah'}]
我可以看看它是否有一个id为1的对象吗?
if @user.badges.include?(:id => 1)
# do something
end
它似乎不起作用,我怎么能正确地编写这个方法?
答案 0 :(得分:13)
这不是有效的Ruby语法。你想要:
@user.badges.any? { |b| b[:id] == 1 }