2013-04-11 85 views
0

我試圖從不同的標籤獲取多個帖子,然後是單個用戶。在Rails上嵌套的foreach循環中查找唯一記錄

一個帖子有多個標籤,例如: -
「大漿果沒有粉筆」(consumer webbig data
「的有效途徑申報乾旱」(consumer websql

用戶如下多個標籤例如: -
約翰如下consumer webbig data

所以,當約翰登錄他看到後s來自標籤consumer webbig data。 從上面的例子中,John的主頁向他顯示了下面的結果。問題是他們重複同一篇文章的結果。



Rails代碼「沒有粉筆巨大的漿果」「沒有粉筆巨大的漿果」:

<% @tags.each do |mytag| %> 
     <% @posts = Post.tagged_with(mytag.name) %> 

     <% @posts.each do |post| %> 
       <div> <%= post.title %></div> 
     <% end %> 

<% end %> 

所以,當約翰登錄時,控制器決定了他隨後的標籤並將這些標籤到對象(@tags)。然後上面的循環針對每個標籤運行兩次,並返回相同的帖子,因爲它屬於兩個標籤。

我想改進代碼,以便即使發現帖子屬於多個標籤,並且後面跟着同一個用戶,它也只能返回1個結果。基本上是多個標籤的唯一結果。請建議。

回答

0

你試過Post.tagged_with(mytag.name).uniq