Ruby on rails 迭代hash.keys并遍历case/when

Ruby on rails 迭代hash.keys并遍历case/when,ruby-on-rails,ruby,Ruby On Rails,Ruby,这以“失败:类别”结束,我一辈子都不明白为什么,所以我有理由肯定我在做一件非常愚蠢的事。试着用when:category试着用when:category试着用when:category试着用when:category试着用when:category试着用when:category>试着改变when“category”(类别)与一起使用时:category您尝试比较“category”(类别)字符串和:category符号-它们不同: {:category => 1}.keys.each d

这以“失败:类别”结束,我一辈子都不明白为什么,所以我有理由肯定我在做一件非常愚蠢的事。

试着用
when:category
试着用
when:category
试着用
when:category

试着用
when:category
试着用
when:category
试着用
when:category>
试着改变
when“category”(类别)
一起使用时:category

您尝试比较
“category”(类别)
字符串和
:category
符号-它们不同:

{:category => 1}.keys.each do |n|
    case n
    when 'category'
        puts 'success'
    else
        puts "failure: #{n}"
    end
end
这应该起作用:

'category' === :category
# => false

您尝试比较
'category'
字符串和
:category
符号-它们不同:

{:category => 1}.keys.each do |n|
    case n
    when 'category'
        puts 'success'
    else
        puts "failure: #{n}"
    end
end
这应该起作用:

'category' === :category
# => false

您尝试比较
'category'
字符串和
:category
符号-它们不同:

{:category => 1}.keys.each do |n|
    case n
    when 'category'
        puts 'success'
    else
        puts "failure: #{n}"
    end
end
这应该起作用:

'category' === :category
# => false

您尝试比较
'category'
字符串和
:category
符号-它们不同:

{:category => 1}.keys.each do |n|
    case n
    when 'category'
        puts 'success'
    else
        puts "failure: #{n}"
    end
end
这应该起作用:

'category' === :category
# => false

因为它是一个符号而不是字符串,噢。我知道这很愚蠢,谢谢你!因为它是一个符号而不是字符串,噢。我知道这很愚蠢,谢谢你!因为它是一个符号而不是字符串,噢。我知道这很愚蠢,谢谢你!因为它是一个符号而不是字符串,噢。我知道这很愚蠢,谢谢你!