我有用户.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"]})
但是我收到一个错误,即与消息没有关联。
此外,这不会删除重复的实例 (例如,同一用户使用同一帐户创建了多条消息)。
我正在控制台中对其进行测试并拥有 metawhere gem。
谢谢。