【问题标题】:Find Unique Records in nested foreach loop on Rails在 Rails 上的嵌套 foreach 循环中查找唯一记录
【发布时间】:2013-04-11 22:02:38
【问题描述】:

我正在尝试从不同标签中获取多个帖子,然后是单个用户。

一篇文章有​​多个标签,例如:-
“没有粉笔的好浆果”(consumer webbig data
“宣布干旱的有效方法”(consumer websql

用户关注多个标签,例如:-
约翰 关注 consumer web , big data

因此,当 John 登录时,他会看到来自标签 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 %> 

所以当 John 登录时,控制器会确定他关注的标签并将这些标签传递给对象 (@tags)。然后上面的循环对每个标签运行两次,并返回相同的帖子,因为它属于两个标签。

我想改进代码,即使它发现帖子属于同一用户后跟的多个标签,它也只能返回 1 个结果。本质上是多个标签的唯一结果。请建议。

【问题讨论】:

    标签: ruby-on-rails-3 loops foreach nested unique


    【解决方案1】:

    你试过Post.tagged_with(mytag.name).uniq吗?

    【讨论】:

      猜你喜欢
      • 2021-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      • 2012-05-16
      相关资源
      最近更新 更多