Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

commentable.comments が nil になり例外を出すことがあるため、 nil の時は処理をしないように修正 #5776

Merged
merged 1 commit into from
Nov 18, 2022

Conversation

yamatatsu10969
Copy link
Contributor

@yamatatsu10969 yamatatsu10969 commented Nov 12, 2022

Issue

概要

CommentsController.indexcommentable.commentsnil になり例外が発生していました。
コメントが存在する画面に遷移して例外を再現させようとしましたが、再現ができませんでした。

📝 再現しないとしたら、その周辺にcommentsがない場合の処理を追加していただければと思います。

#5570 (comment)

上記のようにチケットにコメントがありましたので、commentsnil の時は例外を出さないように処理をしないように修正しました。

変更確認方法

念の為コメント周りの一連の動作を行っていただきたいです🙏
コメントを投稿し、コメントが表示されるまでの確認をお願いいたします。

  1. ブランチfix/commentable_comments_nilをローカルに取り込む
  2. bin/rails sでローカル環境を立ち上げる
  3. ログインする(誰でも構いません)
  4. http://localhost:3000/reports/ にアクセスする
  5. 一番上の日報詳細画面に遷移
  6. コメントを投稿
  7. 投稿したコメントが表示されることを確認

コメントが表示されていることが分かる画像

CleanShot 2022-11-12 at 17 16 02

@yamatatsu10969 yamatatsu10969 self-assigned this Nov 12, 2022
@yamatatsu10969 yamatatsu10969 changed the title commentable.comments が nil になり例外を出すことがあるため早期リターンを追加 commentable.comments が nil になり例外を出すことがあるため、 nil の時は早期リターンを追加 Nov 12, 2022
@yamatatsu10969 yamatatsu10969 changed the title commentable.comments が nil になり例外を出すことがあるため、 nil の時は早期リターンを追加 commentable.comments が nil になり例外を出すことがあるため、 nil の時は処理をしないように修正 Nov 12, 2022
@yamatatsu10969
Copy link
Contributor Author

@fuwa-syugyo
ご都合よろしければこちらのレビューをお願いいたします🙏
難しければ気軽にご連絡ください☺️
急いでおりません。

@yamatatsu10969 yamatatsu10969 marked this pull request as ready for review November 12, 2022 08:34
@fuwa-syugyo
Copy link
Contributor

@yamatatsu10969
お疲れ様です〜
レビュー依頼ありがとうございます!
はい、大丈夫です!明日を目処にレビューさせていただきます〜

@fuwa-syugyo
Copy link
Contributor

fuwa-syugyo commented Nov 13, 2022

@yamatatsu10969
お疲れ様です!レビュー依頼ありがとうございます〜

日報について、コメントを投稿して表示されていることを確認しました。
念の為日報以外のコメントについても確認したのですが、定期イベントでコメントが投稿できないようです。
この画面で止まったままです。
image

エラー時のコンソール画面

Started POST "/api/comments" for ::1 at 2022-11-13 17:48:05 +0900
Processing by API::CommentsController#create as */*
  Parameters: {"comment"=>{"description"=>"テストです"}, "commentable_type"=>"RegularEvent", "commentable_id"=>"459650222"}
  User Load (0.6ms)  SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2  [["id", 459775584], ["LIMIT", 1]]
  ↳ app/controllers/application_controller.rb:30:in `init_user'
  RegularEvent Load (0.6ms)  SELECT "regular_events".* FROM "regular_events" WHERE "regular_events"."id" = $1 LIMIT $2  [["id", 459650222], ["LIMIT", 1]]
  ↳ app/controllers/api/comments_controller.rb:50:in `commentable'
  TRANSACTION (1.0ms)  BEGIN
  ↳ app/controllers/api/comments_controller.rb:24:in `create'
  Comment Create (1.1ms)  INSERT INTO "comments" ("description", "user_id", "commentable_id", "created_at", "updated_at", "commentable_type") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id"  [["description", "テストです"], ["user_id", 459775584], ["commentable_id", 459650222], ["created_at", "2022-11-13 08:48:05.095934"], ["updated_at", "2022-11-13 08:48:05.095934"], ["commentable_type", "RegularEvent"]]
  ↳ app/controllers/api/comments_controller.rb:24:in `create'
   (1.3ms)  SELECT "watches"."user_id" FROM "watches" WHERE "watches"."watchable_id" = $1 AND "watches"."watchable_type" = $2  [["watchable_id", 459650222], ["watchable_type", "RegularEvent"]]
  ↳ app/models/comment/after_create_callback.rb:57:in `create_watch'
  Watch Create (1.0ms)  INSERT INTO "watches" ("watchable_type", "watchable_id", "created_at", "updated_at", "user_id") VALUES ($1, $2, $3, $4, $5) RETURNING "id"  [["watchable_type", "RegularEvent"], ["watchable_id", 459650222], ["created_at", "2022-11-13 08:48:05.102801"], ["updated_at", "2022-11-13 08:48:05.102801"], ["user_id", 459775584]]
  ↳ app/models/comment/after_create_callback.rb:63:in `create_watch'
  TRANSACTION (0.7ms)  ROLLBACK
  ↳ app/controllers/api/comments_controller.rb:24:in `create'
Completed 500 Internal Server Error in 20ms (ActiveRecord: 6.3ms | Allocations: 8294)


  
ArgumentError (wrong number of arguments (given 0, expected 1)):
  
app/models/regular_event.rb:135:in `watched?'
app/models/comment/after_create_callback.rb:43:in `notify_to_watching_user'
app/models/comment/after_create_callback.rb:7:in `after_create'
app/controllers/api/comments_controller.rb:24:in `create'

こちらのissueの範囲なのかはわからないのですが、共有させていただきます〜
上記以外については問題ないと思います!

@yamatatsu10969
Copy link
Contributor Author

yamatatsu10969 commented Nov 13, 2022

@fuwa-syugyo
ご確認ありがとうございます!

ご報告もありがとうございます!
その問題についてはこの issue の前から発生しているようでしたので、別で issue を作成しております🙏
#5777

@fuwa-syugyo
Copy link
Contributor

@yamatatsu10969
別issueを作成されていたのですね、共有いただきありがとうございます〜!
であれば他に問題はないと思いますのでApproveさせていただきます!

@yamatatsu10969
Copy link
Contributor Author

@fuwa-syugyo
ご確認ありがとうございました ☺️

@yamatatsu10969
Copy link
Contributor Author

@komagata
メンバーから approve いただきましたのでレビューお願いいたします!

Copy link
Member

@komagata komagata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

確認させて頂きました。OKです〜🙆‍♂️

@komagata komagata merged commit 67d51e1 into main Nov 18, 2022
@komagata komagata deleted the fix/commentable_comments_nil branch November 18, 2022 05:36
@github-actions github-actions bot mentioned this pull request Nov 18, 2022
18 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants