我正在用TradingCard模型构建Ruby on Rails应用程序。我有一个索引操作和相应的视图,我试图打印出每个TradingCard对象。这里的基本上是我在我的控制器已经有了,我的指标作用下:使用引导程序呈现索引动作中的div
@trading_cards = TradingCard.all
这里是我的问题:我使用的引导来帮助我完成造型的基本网格状的方式,以及其便携式小屏幕。我使用bootstrap来帮助总体布局和流程,但是我为每个TradingCard对象构建了自己的小交易卡式容器;我用自己的CSS写了它。它没有指定的高度,所以它可以像它需要的那样高,以适应特定于该单个对象的所有文本。 在中等大小的屏幕上,我希望我的索引视图能够简单地显示每行三张交易卡,哪里的行不是由下面的行中的交易卡所隐藏的。这是一个问题,因为最好的做法是简单地包含在索引视图下,(当然有_trading_card视图中的文件夹部分):
<%= render @trading_cards %>
在我_trading_card部分我有这样的事情:
<div class="col-md-4">
<%= trading_card.body %>
</div>
这种方法唯一的问题是我不能真正告诉布局每3张交易卡创建一个新行。相反,我不得不继续将col-md-4吐出一块真正很长的一排,结果,一些较高的交易卡最终挤进了它们上面的行,看起来很奇怪。
有没有更好的方法去完成这个整个方法?我错过了什么吗?或者是否有一种方法可以在我的控制器中指定我想要加载3个bundle中的对象,这样我就可以编写一个迭代,每次循环都创建一个新行?
任何帮助是如此赞赏。对不起,如果这个问题真的很长。你们总是很有帮助,我真的不能完全感谢你们。
在此先感谢您的任何帮助!
好像你可以用'each_slice'来循环你的对象/项目。例如:'@ trading_cards.each_slice(3)do | cards |; end'一次需要3个对象 – Alfie
嗨Alfie,我完全不知道each_slice()的存在。非常感谢你! – Parker