2015-06-04 33 views
0

我使用行爲-AS-加標籤,在通過標籤列表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 %> 

什麼是去除了當前文章的最佳方式?

回答

1

我結束了使用reject方法爲了排除文章,如果它是一個正在顯示。

我在文章控制器的顯示操作中使用這樣的:

@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 %> 

就像一個魅力。