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
我有这个任务:
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