2017-06-29 41 views
-1

我有這樣的任務:紅寶石:。每次迭代工作不正常

- links.each do |key, value| 
    - if key != 'default' 
     .divider= key 

links: { :default => { :some_key => 'some value' }, :not_default => { :another_key => 'another value' } } 
與迭代股利 .divider以下被渲染,即使它包含的值等於「默認」

現在

它導致:

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

這種行爲不能被預期的。

+4

您的意思是比較符號嗎? 'if key!=:default'? – Dogbert

+0

@Dogbert就在其上。問題是你期望字符串和符號是相同的。 –

+0

Woo - that works :-) – jonhue

回答

1

你的鑰匙是符號:default,而不是一個字符串,這就是爲什麼你的if總是評估爲真。你可以通過做key != :default來解決這個問題。

- links.each do |key, value| 
    - if key != :default 
    .divider= key