我使用Acts-As-Taggable-On
在Rails 4上在我的文章展示页面上,我正在构建一个"相关文章"根据标签的部分。
我已经将它付诸实践,但它也包含了当前的文章。无法弄清楚如何显示所有相关文章但排除了它已经显示的文章。
以下是我在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 %>
排除当前文章的最佳方法是什么?
答案 0 :(得分:1)
我最终使用reject
方法排除文章,如果它是正在显示的文章。
我在文章控制器的Show action中使用了这个:
@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 %>
像魅力一样工作。