0

CommunityTagging、などの 3 つのモデルがあります。Tag

  • コミュニティbelongs_to :tag

  • タグ付けhas_one :community<= taggable_id はコミュニティの ID になります

  • タグ付けbelongs_to :tag

  • タグhas_many :taggings# タグには「名前」属性があります

これが私のコードです

@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 に答える