在一行上运行each_with_index?

时间:2015-07-21 13:33:26

标签: ruby-on-rails ruby

我试图做一个输出相当于

的助手
<%= 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}"} %>

我的代码有什么问题或者什么是从帮助程序保持输出数组的更好方法?

1 个答案:

答案 0 :(得分:5)

您必须使用map代替each,才能以单行输出

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