Ruby: .each 迭代工作不正常

Ruby: .each iteration not working correctly

我有这个任务:

links: { :default => { :some_key => 'some value' }, :not_default => { :another_key => 'another value' } }

现在,通过以下迭代,即使 div .divider 包含的值等于 'default':

也会被渲染
- links.each do |key, value|
    - if key != 'default'
        .divider= key

结果是:

<div class="divider">default</div>
<div class="divider">not_default</div>

这种行为不是故意的。

您拥有的密钥是符号 :default,而不是字符串,这就是为什么您的 if 始终计算为真。您可以通过执行 key != :default.

来解决此问题
- links.each do |key, value|
  - if key != :default
    .divider= key