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 %>
很有魅力。
我正在 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 %>
很有魅力。