この問題はかなり単純に思えますが、このような問題に遭遇したことはありません。
設定は次のとおりです。
Post has_many :reader_links
Post has_many :readers, :through => :reader_links
投稿を読んでいる読者がいるかどうかを調べる必要があります。
@post.reader_links.where('created_at >= ?', 45.minutes.ago).any?
よく働く。
@post.readers.where('created_at >= ?', 45.minutes.ago),any?
列がリーダーオブジェクトの列を意味するのか、 reader_linkオブジェクトの列を意味するのかが混乱するため、あいまいなテーブル列エラーがスローされます。これは、リーダーのクラスが実際にはUser であるためです。45 分前に reader_links によって作成された読者を照会するにはどうすればよいですか?created_at
私は次のようなものを探しています..
@post.readers.where('reader_link.created_at >= ?', 45.minutes.ago)