首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails使用each_slice查找最后一轮

问Rails使用each_slice查找最后一轮
EN

Stack Overflow用户
提问于 2016-07-14 14:02:25
回答 2查看 216关注 0票数 0

我在我的应用程序中使用each_slice,每4幅图像显示一个广告代码。

我就是这样做的:

代码语言:javascript
复制
- @post.images.each_slice(4) do |group|
  - group.each do |image|
    // My images

  %div.ads
   // My ads code

我怎么能找到最后一轮并阻止它显示广告,因为我不想在最后一轮播放广告。

我照这里说的做了,但没有运气:slice

我在我的last_slide中添加了post_controller方法,并且在我的show-view中运行/show_action它时得到了错误的参数数,当我没有在控制器中运行时,什么都不会发生。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-15 09:21:31

它可以通过两种不同的方式来完成。第一个是简单的解决方案,而第二个解决方案则更复杂。

1解决方案(感谢jphager2 ):

代码语言:javascript
复制
if group.include?(images.last)

2解决办法:

代码语言:javascript
复制
- @post.images.each_slice(2).each_with_index do |group, index|
  - group.each_with_index do |image|
   // your code
  - if index < group.size
   // Ad code
票数 0
EN

Stack Overflow用户

发布于 2016-07-15 07:49:27

为了实现在每4幅图像之间插入广告的目标,您可以利用Rails的呈现方法以及集合和spacer_template选项。

代码语言:javascript
复制
# The view
= render partial: 'image_group', collection: @images.each_slice(4).to_a, spacer_template: 'advertisement'

# _image_group.html.haml
= render partial: 'image', collection: image_group

# _image.html.haml
// Your image code

# _advertisement.html.haml
%div.ads
  // Your Ads Code
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38376320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档