Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3-构建表格,希望每行交替颜色_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

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>