2013-04-11 3 views
0

Я пытаюсь получить несколько сообщений из разных тегов, за которыми следует один пользователь.Найти уникальные записи в вложенном foreach loop on Rails

Столб имеет несколько тегов, например: -
"большие ягоды с не мелки" (consumer web, big data)
"эффективные способы объявить засуху" (consumer web, sql)

Пользователь следует несколько тегов например: -
Джон следуетconsumer web, big data

Итак, когда журналы Джон в он видит пост с тегов consumer web и big data. В приведенном выше примере домашняя страница Джона показывает ему результаты ниже. Проблема в том, что они повторяются в результате того же поста.

«большие ягоды с не мелками»
«большими ягодами с не мелками»

Рельсы Кода:

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

Смежные вопросы