bou*_*uby 0 css ruby html-table ruby-on-rails cycle
在轨道我知道你可以做
<tr class="<%= cycle("even", "odd") %>">
Run Code Online (Sandbox Code Playgroud)
循环给定行的类.
但在这种情况下
<% @products.each do |p| %>
<tr class="headers">
<td><%= p.name %></td>
<td><%= p.idnum %></td>
...
</tr>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我怎么能自动替换列类?
有什么方法可以这样吗?(为了便于说明,发明了一些奇特的方法名称('.column_names'))
<% @products.each do |p| %>
<tr class="headers">
<% products.column_names.each do |c| %>
<td class="<%= cycle("even", "odd") %>"><%= c %></td>
<% end %>
</tr>
<% end %>
Run Code Online (Sandbox Code Playgroud)
编辑:(例如)
<table>
<tr class="headers">
<td class="even"> </td>
<td class="odd">Name</td>
<td class="even">Followers</td>
<td class="odd">Date Joined</td>
<td class="even">Slogan</td>
<td class="odd">Location(s)</td>
<td class="even">Segments(s)</td>
<td class="odd">Website</td>
</tr>
<tr class="body">
<td class="even"><img src="<%= company.thumbnail_logo %>"></td>
<td class="odd"><%= company.company_name %></td>
<td class="even"><%= company.followers %></td>
<td class="odd">...</td>
...
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
这就是我目前正在编写的内容,你可以看到它相当冗长.我希望减少这一点.
这只是为了造型目的吗?您可以使用CSS3执行此操作,而无需分配类.
tr:nth-of-type(even){ your_css_here }
Run Code Online (Sandbox Code Playgroud)
要么
td:nth-of-type(even){ your_css_here }
Run Code Online (Sandbox Code Playgroud)
更换even用odd,如果这就是你想要的
另外,你不会<th>用于标题吗?