使用逗号

时间:2015-12-02 09:24:32

标签: ruby-on-rails ruby

我想用逗号分隔这个块:

  - game_publication.groups.each_with_index do |group, index|
    = link_to store_group_path(current_store, group) do
      %span= @groups.find(group).name.to_s + (index > 0 ? ', ' : '')

但目前它会返回类似

的内容
<label>Groups :</label>
  <a href="/66-store/groups/4594?locale=en">
    <span>party hard</span>
  </a>
  <a href="/66-store/groups/5063?locale=en">
    <span>b0m,</span>
  </a>
  <a href="/66-store/groups/5066?locale=en">
    <span>test,</span>
  </a>
</label>

我似乎不能使用任何铁路助手。

我想要 group1,group2,group3

<label>Groups :</label>
  <a href="/66-store/groups/4594?locale=en">
    <span>party hard,</span>
  </a>
  <a href="/66-store/groups/5063?locale=en">
    <span>b0m,</span>
  </a>
  <a href="/66-store/groups/5066?locale=en">
    <span>test</span>
  </a>
</label>

1 个答案:

答案 0 :(得分:2)

首先,您确定在此处粘贴了完全代码,该代码提供了发布的结果吗?在您的代码中,您有

(index > 0 ? '' : ',')

表示:除非我们在第一个元素,否则不要添加逗号。你发布的结果是另外一个逗号:它在任何地方都有一个逗号,除了第一个元素。换句话说:您发布的代码无法生成您发布的输出。

现在针对您的问题:您希望在除最后一个元素之外的每个元素上添加逗号。这意味着您需要知道最高(最后)索引值:

last_index = game_publication.groups.size - 1

有了这个,您可以将表达式编写为

(index == last_index ? '' : ',')
相关问题