0

したがって、別のコントローラーでは、次のような検索を使用します。

@entries = Entry.find(:all, :conditions => ['live = ?', false])

偽の「ライブ」列を持つすべてのエントリを検索します。

私のプロジェクトでは、2つの異なるタグ付け可能なタイプを使用しています。1つはエントリ用(Entry)、もう1つはメッセージ用(Message)です。上記の実際に試したコードを見ると、taggingsテーブルのtaggable_type列にある「Message」値を持つすべてのタグ付きメッセージを見つけるのと同じようなことができると思います。

#this could help find only Messages with the taggable_type column value "Message"
@tagged_messages = Message.find(:all, :conditions => ['taggable_type = Message', true])

ここでの問題は、私の検索条件がメッセージモデル[Message.find(...]に対応していることです。これは、[私の理解では]タグ付けテーブルに関連付けられたモデルがないため機能しません。おそらく間違っています。モデルに関連付けられていないテーブルを検索するにはどうすればよいですか?おそらくここで何かが完全に欠落しています。これを理解したり、これを機能させるのに役立つヘルプやコードをいただければ幸いです。質問を読んでいただきありがとうございます。

4

1 に答える 1

1

@tagged_messages = Tagging.find_all_by_taggable_type('Message').map(&:taggable)あなたがしたいことをするべきです。uniqそこにもどこかに投げ込む必要があるかもしれません。

于 2010-05-27T16:56:34.747 に答える