Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用Ruby on Rails每行显示4个条目_Ruby On Rails_Twitter Bootstrap - Fatal编程技术网

Ruby on rails 使用Ruby on Rails每行显示4个条目

Ruby on rails 使用Ruby on Rails每行显示4个条目,ruby-on-rails,twitter-bootstrap,Ruby On Rails,Twitter Bootstrap,我需要以4个条目的行显示视频 它应该是这样的(一个x是一个视频): 一定有更好的办法 更新 我发现了很棒的Rails功能 如图所示 的\u groups\u中的ActiveSupport方法获取一个数组并将其放入组中 更新2 我的第一次更新是一个有效的解决方案,但公认的答案更好。您使用的是Bootstrap的.thumbnails组件和.span3,因此您已经自动获得了四行。您不需要任何循环、嵌套列表或实用程序方法 %ul.thumbnails - @videos.e

我需要以4个条目的行显示视频

它应该是这样的(一个
x
是一个视频):

一定有更好的办法

更新

我发现了很棒的Rails功能

如图所示

的\u groups\u中的ActiveSupport方法获取一个数组并将其放入组中

更新2


我的第一次更新是一个有效的解决方案,但公认的答案更好。

您使用的是Bootstrap的
.thumbnails
组件和
.span3
,因此您已经自动获得了四行。您不需要任何循环、嵌套列表或实用程序方法

%ul.thumbnails            
  - @videos.each do |v|
    %li.span3
      # code for showing the video
它只是工作:

p.S.ActiveSupport的
的_groups_中仅仅是Ruby内置的一个包装,添加了填充项来完善最后一组。如果您需要这样的填充元素,您可以非常轻松地自行填充:

- @videos += [ nil ] * ( 4 - @videos.size % 4 )
%ul.thumbnails
  - @videos.each do |v|
    %li.span3
      - if v then render_the_video_element
      - else      render_a_filler_element end

是否确实需要使用行包装器元素?如果可以的话,服务器端代码可能会简单得多。谢谢。使用方法的组中的,您的解决方案比我的效果更好。我不知道我必须这样使用twitter引导的缩略图!
%ul.thumbnails            
  - @videos.each do |v|
    %li.span3
      # code for showing the video
- @videos += [ nil ] * ( 4 - @videos.size % 4 )
%ul.thumbnails
  - @videos.each do |v|
    %li.span3
      - if v then render_the_video_element
      - else      render_a_filler_element end