数组.any?或.empty?Rails中的难题

h8w*_*ows 4 ruby-on-rails-3

我试图检查一个数组中是否有任何东西,我对结果感到困惑.

markets.any? do |m|
    m["market"]["name"] == "Atlanta"
end.should be_true
Run Code Online (Sandbox Code Playgroud)

返回 You have a nil object when you didn't expect it!, You might have expected an instance of Array.

markets.empty? do |m|
    m["market"]["name"] == "Atlanta"
end.should be_false
Run Code Online (Sandbox Code Playgroud)

没有错误.但它似乎倒退了,因为我想测试真实,而不是虚假.我不明白为什么.认为这是愚蠢的.顺便说一下,阵列中有3个项目,没有一个是零.

Nar*_*iya 9

根据您的评论,市场密钥不存在于哈希中,请尝试以下内容

markets.any? do |m|
    m["name"] == "Atlanta"
end.should be_true
Run Code Online (Sandbox Code Playgroud)