前提・実現したいこと
いつもお世話になっております。
Ruby on Rails学習中で、herokuデプロイ後の特定ページでエラーが出て煮詰まってしまい、質問させていただきます。
ローカル環境で一通り作業が完了し、heorkuへのデプロイを行いました。
なんとか無事pushはでき、サイトも表示することができたのですが、
特定のページで、エラーが出るようになってしまいました。
ネットで調べ、またコメントアウト等でエラーが起こっている箇所の特定を試みたところ、
どうもローカル環境のsqliteから、herokuのpostgreSQLへの移行において何かおかしい点がある、というところまでは目星をつけました。
ですが、肝心のModelやSQLの知見が乏しく、どのように修正すればいいのか、ということがわからずにいます。(エラーメッセージを見るとどうもgroupの使い方がよくない?ような気がしています)
コードが汚いかと思いますが、ご教示いただけますととても助かります。
よろしくお願いいたします。
エラーメッセージ(heroku run rails cで実行した結果) ActiveRecord::StatementInvalid: PG::GroupingError: ERROR: column "recent_messages.content" must appear in the GROUP BY clause or be used in an aggregate function
group byの使い方が間違っている?
該当のソースコード
heroku run rails cで実行 @users = User.left_joins(:recent_messages).select("users.id,name,comment, recent_messages.content,recent_messages.created_at,job").group(:id).order("recent_messages.created_at desc").where(group_code: "7777")
heroku run rails cでエラーメッセージと同時に吐き出されたSQL文?
: SELECT users.id,name,comment, recent_messages.content,recent_messages.created_at,job FROM "users" LEFT OUTER JOIN "recent_messages" ON "recent_messages"."user_id" = "users"."id" WHERE "users"."group_code" = $1 GROUP BY "users"."id" ORDER BY recent_messages.created_at desc LIMIT $2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。