0

私は ruby​​ on rails 2.3.8 を使用しており、アナウンスにタグを付けるための act_as_tggable_on プラグインをインストールしました。特定の id でタグ付けされたすべてのアナウンスを取得する簡単で適切な方法がないことを発見するまで、すべて問題ありませんでした (唯一の方法)私が見つけたのは Tag.tagged_with(tag_name)) でした。

そこで、プラグインのタグ モデルを、プラグインに含まれるタグ付けテーブルを表す (ActiveRecord の) 私が作成したタグ付けモデルに関連付けたいと思いました。

それは可能ですか?

4

1 に答える 1

0

どちらも ActiveRecord モデルであれば可能です。

プラグインのモデルで関係を定義するには、ライブラリのどこかでメタプログラミングを行う必要があります。最初に、environment.rb ファイルの最後に貼り付けて実験することができます。

ModelName.class_eval do
  has_many :announcements
end

特にそれは機能する場合と機能しない場合がありますが、それが基本的な考え方です。

メタプログラミングが複雑すぎることが判明した場合は、いつでも実行できます (ここでスキーマについて仮定すると、私は数年間 AAT を使用していません)。

Taggings.find_by_tag_id_and_user_id(@tag.id, @user.id, :include => :user ).map{ |t| t.user) }

于 2010-06-18T22:17:13.817 に答える