我有一个模型Friends
,我想在视图中进行迭代,但我遇到了麻烦,因为我不得不使用不均匀的列宽。
通常,如果列宽是常数,我会做这样的事情:
<% @user.friends.each do |friend|%>
<div class="col-md-6">
<%= friend.name %>
</div>
<% end %>
但是,由于我正在使用的布局,我需要在第一列中添加一个偏移量:
<div class="col-md-5 col-md-offset-1">
并且我不想要第二列中的偏移量:
<div class="col-md-6">
如何使用交替的列宽迭代@user.friends
?
答案 0 :(得分:1)
您可以使用each_with_index
遍历列表,并根据索引的奇数/偶数值添加条件css类
<% @user.friends.each_with_index do |friend, index| %>
<div class="<%= (index).even? ? 'col-md-5 col-md-offset-1' : 'col-md-6' %>">
<%= friend.name %>
</div>
<% end %>
答案 1 :(得分:0)
怎么样
<% @user.friends.each_with_index do |friend, index|%>
<% if index == 0 %>
<div class="col-md-5 col-md-offset-1">
<%= friend.name %>
</div>
<% else %>
<div class="col-md-6"> #whatever offset u need
<%= friend.name %>
</div>
<%end%>
答案 2 :(得分:0)
以下将给出第1,第3,第5等。friend
偏移量。
<% odd = true %>
<% @user.friends.each do |friend|%>
<%= raw(odd ? '<div class="col-md-5 col-md-offset-1">' : '<div class="col-md-6">') %>
<%= friend.name %>
</div>
<% odd = !odd %>
<% end %>