红宝石“第一”助手方法?
-
14-10-2019 - |
题
我有以下文件member.html.erb:
<ul class="members-list">
<%@members.each do |member|%>
<li class="member-item">
<%=member.name%>
</li>
<%end%>
</ul>
我想将“第一个”类添加到将生成的第一个LI(仅到第一个LI),因此看起来像这样:
<ul>
<li class="member-item first">john</li>
<li class="member-item">chris</li>
</ul>
有什么想法吗?
解决方案
您可以使用CSS同样地将其恢复到纯粹用于样式的情况下。如果您要么在UL上有ID或类,则可以在CSS中写
ul.member-list li:first-child {
WHATEVER STYLING CODE THAT YOU WOULD PUT IN member-item first
}
以及其余的li标签
ul.member-list li {
}
如果您想添加班级,则可以
<ul>
<% @members.each_with_index do |member, i| %>
<% if i == 0 %>
<li class="member-item first">
<% member.name %>
</li>
<% else %>
<li class="member-item">
<% member.name %>
</li>
<% end %>
</ul>
其他提示
类似但更简短的方法是安德烈亚斯/海基的回答:
<ul>
<% @members.each_with_index do |member, i| %>
<li class="member-item<%= ' first' if i == 0 %>">
<% member.name %>
</li>
<% end %>
</ul>
不隶属于 StackOverflow