在進行像塊:得到紅寶石塊特定元素,Rails應用程序
<% @user.favoured_user.each do |user| %>
<li><%= user.name %></li>
<% end %>
隨着favoured_user方法返回5個用戶的限制,我將如何處理該塊,這樣即使只有3用戶可用,我仍然可以返回5個元素?
我猜想一個幫手會進來玩,也許'第一,第二,第三等'數組方法,但我想不出如何編寫它。
任何幫助?
在進行像塊:得到紅寶石塊特定元素,Rails應用程序
<% @user.favoured_user.each do |user| %>
<li><%= user.name %></li>
<% end %>
隨着favoured_user方法返回5個用戶的限制,我將如何處理該塊,這樣即使只有3用戶可用,我仍然可以返回5個元素?
我猜想一個幫手會進來玩,也許'第一,第二,第三等'數組方法,但我想不出如何編寫它。
任何幫助?
你可以試試這個,
<% 5.times do |i| %> <li> <%= @user.favoured_user[i].try(:name) %> </li> <% end %>
您可以使用in_groups_of
像:
<% @user.favoured_user.in_groups_of(5).each do |favored_user| %>
<% favored_user.each do |user| %>
<li><%= user.try(:name) %></li>
<% end %>
<% end %>
第3個用戶會通過,而最後兩個參賽作品將是零
'in_groups_of'產生一個數組數組,所以在你的例子中'user'不會是一個數組? – 2012-02-24 19:22:31
你的權利,上面做了小修改。 – 2012-02-24 20:13:56
s /你/你/ :)你也可以在這種情況下使用'in_groups_of(5).first.each',因爲'favoured_user'指定最多返回5個。 – 2012-02-24 20:27:31
只顯示五個用戶中的一個,然後顯示4個空白li元素? – Darcbar 2012-02-24 19:53:43
它應該按原樣運行,是您的@ user.favoured_user生成一個5的數組? – 2012-02-24 20:07:33
是的,它正在生成數組作爲我的第一篇文章中的方法正常工作,所做的更改仍然只返回第一個用戶。 – Darcbar 2012-02-24 20:15:02