Ale*_*lex 4 html ruby algorithm haml ruby-on-rails
我有一个像这样组织的照片库:
.container
%li
%a{src: image.src}
%li
%a{src: image.src}
%li
%a{src: image.src}
.container
%li
%a{src: image.src}
%li
%a{src: image.src}
%li
%a{src: image.src}
Run Code Online (Sandbox Code Playgroud)
每个容器最多应为3个%li.
假设我在@images哪里@images.count => 4.
.container
- for image in @images do
%li
%a{src: image.src}
Run Code Online (Sandbox Code Playgroud)
此代码将破坏页面,因为在这种情况下.container有4 %li.
我怎么能这样做.container每隔3加一次%li?
我想方法Array#in_groups_of就是你要找的.
- @images.in_groups_of(3, false).each do |images|
.container
- images.each do |image|
%li
%a{src: image.src}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,使用此方法您还可以定义缺失图像的替换
%w(1 2 3 4).in_groups_of(3, '_') {|group| p group}
# => ["1", "2", "3"]
# => ["4", "_", "_"]
Run Code Online (Sandbox Code Playgroud)