2013-04-11 46 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