0

我有三个模型,例如Community,TaggingTag

  • 社区belongs_to :tag

  • 标记has_one :community<= taggable_id 将是社区的 id

  • 标记belongs_to :tag

  • Tag has_many :taggings# Tag 有 'name' 属性

这是我的代码

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

但是,在结果页面中,如果社区的标签中同时包含“APPLE”和“apple”,则会显示 2 条相同的社区记录。

即使社区在小写和大写中都有相同的标签,如何让它在结果中只显示 1 条记录?

4

1 回答 1

1

我回答了类似的问题。你是同一个人吗??无论如何,这将起作用:

@communities = Community.joins(taggings: :tag).where(['binary(tags.name) = ?', params[:tag]]).page(params[:page]).order("cached_votes_up DESC")
于 2013-01-30T18:26:32.500 回答