イベントごとに投稿できて、投稿にコメントをつける時すでに投稿した人をリスト化して選択したらメールで
通知できるシステムを作ってします。
そのリストを作る時のコードでローカルのsqliteでは正常に動くのにヘロクにアップしたらエラーがでました。
コードは下記。過去に同一投稿者が何度も投稿してたらダブルのでグループ化してます。
ruby(コントローラー)
1 @userplus=Comment.joins(:user).where(event_id:@event.id).where.not(user_id: @event.user_id) 2 @userplus=@userplus.order('user_id').group('user_id') 3 @userplus.each do |f| 4 @pts << Ptcollection.new(f.user_id,usernamereturn(f.user.id)+"さんに送る") 5 end
heroku logs --tail
2019-11-24T23:01:06.308894+00:00 app[web.1]: D, [2019-11-25T08:01:06.308794 #4] DEBUG -- : [e3e81008-aeb3-4eed-ae4c-1c3c26dc9d43] Comment Load (3.0ms) SELECT "comments".* FROM "comments" INNER JOIN "users" ON "users"."id" = "comments"."user_id" WHERE "comments"."event_id" = $1 AND ("comments"."user_id" != $2) GROUP BY "comments"."user_id" ORDER BY user_id [["event_id", 23], ["user_id", 1]]
2019-11-24T23:01:06.309359+00:00 app[web.1]: I, [2019-11-25T08:01:06.309276 #4] INFO -- : [e3e81008-aeb3-4eed-ae4c-1c3c26dc9d43] Completed 500 Internal Server Error in 178ms (ActiveRecord: 39.3ms)
2019-11-24T23:01:06.310295+00:00 app[web.1]: F, [2019-11-25T08:01:06.310223 #4] FATAL -- : [e3e81008-aeb3-4eed-ae4c-1c3c26dc9d43]
2019-11-24T23:01:06.310413+00:00 app[web.1]: F, [2019-11-25T08:01:06.310306 #4] FATAL -- : [e3e81008-aeb3-4eed-ae4c-1c3c26dc9d43] ActiveRecord::StatementInvalid (PG::GroupingError: ERROR: column "comments.id" must appear in the GROUP BY clause or be used in an aggregate function
画面では下記のエラー画面となる
We're sorry, but something went wrong.
If you are the application owner check the logs for more information.
ヘロクで正常に見れる方法をご教授頂きたくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/25 03:25