2016-11-21 24 views
0

我有一個模型,Friends,我想在視圖中進行迭代,但是我遇到了問題,因爲我不得不使用不均勻的列寬。Rails:使用不均勻列迭代

通常情況下,如果列的寬度是恆定的,我會做一些這樣的事:

<% @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交替列寬?

回答

1

您可以使用each_with_index遍歷列表,並根據奇/偶指數

<% @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 %> 
的價值添加條件CSS類
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%> 
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 %>