0

特定のキーワードを含むすべてのコメントを取得したい。
ただし、アクティブなユーザーのコメントである必要もあります。
アクティブなユーザーは次の方法で取得できますuser_ids = User.all
。したがって、このようにコーディングしましたが、エラーが発生します。どうすればこれを解決できますか?

user_ids = User.all
commentable = User.base_class.name.to_s
@comments = Comment.where('user_id=? AND commentable_type=? AND body like ?', user_ids, commentable, "%"+params[:search]+"%").order('created_at DESC').page(params[:page]).per(10)      

エラーメッセージ

Mysql2::Error: Operand should contain 1 column(s)
4

2 に答える 2

0
user_ids = User.pluck(:id)
commentable = User.base_class.name.to_s
@comments = Comment.where('user_id IN (?) AND commentable_type = ? AND body like ?', user_ids, commentable, "%"+params[:search]+"%").order('created_at DESC').page(params[:page]).per(10)

上記のクエリにより、必要な結果が得られます

于 2013-10-26T05:29:23.720 に答える