User.rbがあります:
has_many :sent_messages, :class_name => "Message", :foreign_key => "sent_messageable_id"
各Message.rbには、account_idメソッドと:givereceiveメソッドがあります。
belongs_to :account
Account.rbモデルのメソッドを作成して、account_idがそのアカウントと同じで:givereceive = "Give"であるメッセージを送信したすべてのユーザーを(一意に)表示できるようにします。
私は次のことを試しました:
User.joins(:sent_messages).where(
{:sent_messages => [:account_id => self.account_id,
:givereceive => "Give"]})
しかし、メッセージとの関連付けがないというエラーが表示されます。
また、これによって重複するインスタンスが削除されることはありません (たとえば、同じユーザーが同じアカウントで複数のメッセージを作成した場合)。
私はコンソールでそれをテストしていて、metawheregemを持っています。
ありがとう。