2015-07-21 38 views
0

我試圖做出(從數組三個數據的屬性)。OUPUTS的在一行上運行each_with_index?

<%= localed_data.header.states.each_with_index do |f, i| %> 
    <%= "data-#{i}=#{f}" %> 
<%- end -%> 

相當於一個輔助

當編寫一個幫手,我需要它去的最後一行。我試過這個,但是由於某種原因它不輸出任何東西

<%= localed_data.header.states.each_with_index { |f, i| "data-#{i}=#{f}"} %> 

我的代碼有什麼問題,或者什麼是更好的方法來保持幫助器的數組輸出?

+0

你想要的是非常混亂...爲什麼你想第二個辦法?你的幫手代碼在哪裏? –

+0

對於初學者來說,非常基本的術語''%='意味着在視覺上渲染'<%'(no'=')意味着解釋,但不要在視覺上渲染返回。其次'每個'將總是返回接收器,不管塊如何,所以這不會產生你期望的影響。正如@Nermin所說的,「#map」在這裏可能是你最好的選擇。 – engineersmnky

+0

您正在嘗試構建HTML5數據屬性嗎? – Stefan

回答

5

你必須在單行使用map而不是each,輸出

<%= localed_data.header.states.map.with_index { |f, i| "data-#{i}=#{f} "}.join %> 
相關問題