私のアプリケーションでは、ユーザーはディスカッションを開始して参加できます。ディスカッションにタグを付けることもできます。その場合、タグの名前を含むタグが作成され (まだ存在しない場合)、どのユーザーがどのディスカッションにどのタグでタグ付けしたかを記憶するタグ付けも作成されます。
したがって、ディスカッション モデル内には次のようなものがあります。
has_many :taggings
has_many :tags, :through => :taggings
1 人のユーザーからディスカッションのすべてのタグを取得する簡単な方法を作成しようとしています。理想的には、named_scopes を慎重に使用して、物事を適切かつクリーンに保つ必要があります。私はそれが次のように見えるべきだと思います:
tags = @discussion.tags.from_user(@user)
Tag クラス内にこの named_scope を記述することは、非常に困難であることが判明しています。それはどのように見えるべきですか?何らかの方法でタグ付けテーブルと結合する必要がありますか?