【问题标题】:I'd like to Insert markup into search results with Rails我想使用 Rails 在搜索结果中插入标记
【发布时间】:2023-12-25 00:30:01
【问题描述】:

我正在寻求建议。这就是我想要做的。

我正在使用带有 Thinking Sphinx 的 Rails 来搜索我的图书数据库。有点像这样:

results = Books.search 'blabla' :where => {:author => author_id}

效果很好,并为我返回了一系列结果。然后我循环遍历每个结果并在漂亮的网格中显示书籍信息。可爱的七月。

但是,因为我最终希望我的网站赚钱,所以我在这个网站上销售广告,理想情况下,我希望广告与结果位于同一网格内,每 5 个结果我想要显示广告。

我已经绞尽脑汁,但想不出一个简单的方法来做到这一点。所以我想我会问你们聪明的人。

欢迎提出任何建议。

谢谢!

【问题讨论】:

  • .each_slice(x) 将在每个x 元素:@products.each_slice(5) do |five_products_array| 中“切片”您的收藏。使用它在其中插入广告(您可以使用 6 到 3 之间的随机整数而不是 5)。
  • 谢谢。 each_slice 听起来很完美!

标签: ruby-on-rails ruby-on-rails-3 search sphinx ads


【解决方案1】:

在您看来,您可以在结果集上使用 elements.each_slice(4) do | batch | 来分解它。

例如:

elements.each_slice(4) do | batch |
    batch.each do |b|
        #print out the first batch
        #then print out your ad or whatever it is you want
    end
end

【讨论】:

  • each_slice 看起来正是我想要的。谢谢你。我会仔细阅读 API,如果我还有任何问题,请告诉您。