Как я могу получить записи не в два раза?

0

У меня есть три модели, такие как Community, Tagging и Tag

  • Сообщество belongs_to :tag

  • Tagging has_one :community <= taggable_id будет идентификатором сообщества

  • Tagging belongs_to :tag

  • Тег has_many :taggings # Тег имеет атрибут 'name'

и это мой код

@communities = Community.joins(taggings: :tag).where(tags: { name: params[:tag] }).page(params[:page]).order("cached_votes_up DESC")

Однако на странице результатов он показывает 2 из тех же записей сообщества, если у сообщества были как "APPLE", так и "apple" в тегах.

Как я могу заставить его показывать только 1 запись в результате, даже если сообщество имеет те же теги как в нижнем регистре, так и в верхнем регистре?

  • 0
    Вы пытались добавить .group('communities.id') после где?
  • 0
    @MrYoshiji MrYoshiji, не могли бы вы показать весь код, как бы это было?
Показать ещё 18 комментариев
Теги:
ruby-on-rails-3

1 ответ

1
Лучший ответ

Я ответил на подобный вопрос. Вы один и тот же человек? В любом случае это будет работать:

@communities = Community.joins(taggings: :tag).where(['binary(tags.name) = ?', params[:tag]]).page(params[:page]).order("cached_votes_up DESC")

Ещё вопросы

Сообщество Overcoder
Наверх
Меню