Acts_As_Taggable 按标签列表排序排除当前文章

Acts_As_Taggable order by tag list exclude current article

我正在 Rails 4 使用 Acts-As-Taggable-On

在我的文章展示页面上,我正在根据标签构建一个 "Related Articles" 部分。

我已经让它工作了,但它也包括当前文章。无法弄清楚如何显示所有相关文章但排除它已经显示的文章。

这是我在 articles_controller 中使用的内容:

@related_articles = Article.tagged_with(@article.tag_list, any: true)

这是我的观点:

<% @related_articles.each do |article| %>
  <%= link_to (image_tag article.image1(:small)), article %> 
  <h4 style="left"><%= link_to (article.specific.titleize), article, style:"color:#585858" %> </h4>
<% end %>

排除当前文章的最佳方法是什么?

我最终使用 reject 方法排除了正在显示的文章。

我在 Articles 控制器的 Show 动作中使用了这个:

@related_articles = Article.tagged_with(@article.tag_list, any: true).page(params[:page]).per(4)
@other_articles = @related_articles.reject {|article| article == @article}

然后遍历其他文章:

<% @other_articles.each_with_index do |article, i| %>
  <%= link_to (image_tag article.image1(:small)), article %> 
  <h4 style="left"><%= link_to (article.specific.titleize), article, style:"color:#585858" %> </h4>
<% end %>

很有魅力。