在Rails 3中循环通过空格分隔列表

时间:2010-12-27 15:14:27

标签: ruby-on-rails

我正在使用Rails 3。

我在数据库中的一个列中有一个标签,用空格保存它们,如下所示:

apple orange banana

我想循环遍历它们并将每个放在一个单独的行上(在P标记之间)。我使用下面的代码运行它,但最后一行也输出整个字符串。

<p>apple</p>
<p>orange</p>
<p>banana</p>

apple orange banana (I do not want this line)

我使用的代码是这样的,如何让它更好/替换它以便在输出帖子时我没有得到最后一行?

        <% item.options.each(' ') do |item| %>

            <p><%= item %></p>

        <% end %>

2 个答案:

答案 0 :(得分:3)

<% item.options.split(" ").each do |item| %>
  <p><%= item %>
<% end %>

或者更好的是,您可以在模型中创建虚拟属性:

def tags do
  self.options.split(" ")
end

然后

<% item.tags.each do |tag| %>
  <p><%= tag %>
<% end %>

答案 1 :(得分:1)

<% (item.options.split(' ')).each do |item| %>

  <p><%= item %></p>

<% end %>

应该运作良好