2016-07-18 6 views
1

私はpure-table-oddをすべての奇妙なテーブル行に追加したいと思います。 Ruby on Railsでは、これにはcycleを使用します。最低限のCPUパワーを必要とするフェニックスでこれを達成する最善の方法は何ですか?テーブル内の奇数行の交互

<%= for group <- @groups do %> 
    <tr class="pure-table-odd"> 
    <td><%= group.name %></td> 
    </tr> 
<% end %> 

答えて

2

簡単な方法は、グループでインデックスを一緒に取得してチェックすることですrem(index, 2) == 1

<%= for {group, index} <- Enum.with_index(@groups) do %> 
    <tr class="<%= if rem(index, 2) == 1, do: "pure-table-odd" %>"> 
    <td><%= group.name %></td> 
    </tr> 
<% end %> 

Stream.zipStream.cycle、 が、最も可能性の高い非効率的なツールを使用してもっと派手な方法:

<%= for {group, class} <- Stream.zip(@groups, Stream.cycle(["", "pure-table-odd"])) do %> 
    <tr class="<%= class %>"> 
    <td><%= group.name %></td> 
    </tr> 
<% end %> 
+0

クラスの "(二重引用符)がエスケープされています。回避する方法はありますか? – wintermeyer

+1

編集したバージョンを試してください。 'class'が全く存在しないようにしたい(私の意図が元の答えのように)、文字列の周りに' raw'を呼び出すことができます: 'do:raw(〜s | ... |) '。 – Dogbert

関連する問題