/ / एक समय और लूप में एक सरणी से तीन आइटम लें? - रूबी, सरण, रूबी-ऑन-रेल्स -4

एक समय और लूप पर सरणी से तीन आइटम ले लो? - रूबी, सरणी, रूबी-ऑन-रेल -4

मेरे पास अपने डेटाबेस से रिकॉर्ड का एक सरल सरणी है।

मैं एक उत्तरदायी लेआउट का निर्माण कर रहा हूं और मुझे प्रत्येक में केवल तीन आइटम रखने की आवश्यकता है <div class="row"></div>.

मैं संग्रह पर कैसे लूप कर सकता हूं और एक आउटपुट के लिए एक बार में तीन आइटम ले सकता हूं .row div, और तत्वों में से प्रत्येक के भीतर?

उत्तर:

जवाब के लिए 2 № 1

ऐसा कुछ काम करेगा:

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a.each_slice(3) {|e| p "<div>#{e}</div>"}

के बारे में अधिक विस्तार के लिए इस प्रश्न को देखें each_slice: एक्स तत्वों के कुछ हिस्सों में एक रूबी सरणी को कैसे विभाजित (चंक) करें?

एक उदाहरण:

<% for member_row in @members.each_slice(3).to_a %>
<div class="row">

<% for member in member_row %>

<div class="col-md-4">
<p><%= member.name %></p>
</div>

<% end %>

</div>
<% end %>