Ruby on rails Rails 3-构建表格,希望每行交替颜色
期望输出:Ruby on rails Rails 3-构建表格,希望每行交替颜色,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,期望输出: <ul> <li class="odd">stuff</li> <li class="even">stuff</li> <li class="odd">stuff</li> <li class="even">stuff</li> <li class="odd">stuff</li> <li class="even">stuff&l
<ul>
<li class="odd">stuff</li>
<li class="even">stuff</li>
<li class="odd">stuff</li>
<li class="even">stuff</li>
<li class="odd">stuff</li>
<li class="even">stuff</li>
<li class="odd">stuff</li>
<li class="even">stuff</li>
</ul>
在rails 3中,有没有一种干净的方法可以在没有计数器的情况下实现这一点
感谢严格地说,rails并不是真正的rails,但实现奇数/偶数的干净方法是在客户端使用jquery:rails实现这一点的方法是使用
循环
<li class="<%= cycle('even', 'odd') -%>">stuff</li>
东西
我找到了一个对我有用的答案,这里有点充实。经过测试,可与Rails 3.2.8一起使用
something.html.erb
文件:
<table>
<tr>
<th>foo</th>
<th>bar</th>
</tr>
<% @something.each do |s| -%>
<tr class="<%= cycle('oddrow', 'evenrow') -%>">
<td> ... </td>
<td> ... </td>
</tr>
<% end %>
</table>
table tr.oddrow {
background-color: #111111;
}
table tr.evenrow {
background-color: #333333;
}
Rails的TextHelper方法:
东西
注意:“奇数”应该在“偶数”之前(不是上面列出的那样),否则您的设计师可能会对开始的背景色没有按照她的计划进行而不高兴。如果您想使用Rails,请听Raphomet。@bs偶数
-%>
会抑制换行,在这种情况下,您肯定不会想要换行。我认为,cycle
永远不会添加换行符,所以我认为作者总是使用换行符(出于安全考虑),尽管也许Raphomet可以澄清这一点。
table tr.oddrow {
background-color: #111111;
}
table tr.evenrow {
background-color: #333333;
}
<li class="<%= cycle('odd','even') -%>">stuff</li>