質問編集履歴

2

質問に他する追記

2022/12/19 07:57

投稿

takuya_nendo
takuya_nendo

スコア37

test CHANGED
File without changes
test CHANGED
@@ -2,6 +2,14 @@
2
2
  Completed 401 Unauthorizedが出ており、デベロッパーツールのNetworkのResponseにはメールアドレス もしくはパスワードが不正です。が表示されているがフラッシュメッセージが表示されない
3
3
 
4
4
  ### 該当のソースコード
5
+ ログインボタン押下時のログ
6
+ ```
7
+ Processing by Users::SessionsController#create as JS
8
+ Parameters: {"authenticity_token"=>"wazm/tOfHnL0Qgpg7nkuHDc+IwQJ9hDnP8HtjS9WWqnOzNPyGK4YU4FUkx0tHGvXZCUeXU9gfgKUmirpD7wRFg==", "user"=>{"email"=>"test@mail.com", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"メールアドレスでログイン"}
9
+ User Load (2.8ms) SELECT `users`.* FROM `users` WHERE `users`.`email` = 'test@mail.com' ORDER BY `users`.`id` ASC LIMIT 1
10
+ Completed 401 Unauthorized in 920ms (ActiveRecord: 49.8ms | Allocations: 16317)
11
+ ```
12
+
5
13
  sessions_controller.rb
6
14
  ```
7
15
  def create
@@ -33,6 +41,20 @@
33
41
  = f.submit "メールアドレスでログイン"
34
42
  ```
35
43
 
44
+ フラッシュメッセージのテンプレートファイル
45
+ ```
46
+ - if resource.errors.any?
47
+ #error_explanation
48
+ h2
49
+ = I18n.t("errors.messages.not_saved",
50
+ count: resource.errors.count,
51
+ resource: resource.class.model_name.human.downcase)
52
+ ul
53
+ - resource.errors.full_messages.each do |message|
54
+ li
55
+ = message
56
+ ```
57
+
36
58
  ### 試したこと
37
59
  ~~warden.authenticate!(auth_options)の処理で401エラーが返って以降の処理が実行されていないのが原因かと思い調べていたのですが解決方法がわからず難航しています。~~
38
60
  Completed 401 Unauthorizedが出た後、本来であればsession#newへリダイレクトするのがdeviseの仕様とわかったのですがnewアクションにリダイレクトできていないのが原因かと思います。

1

内容に進展あり

2022/12/17 10:11

投稿

takuya_nendo
takuya_nendo

スコア37

test CHANGED
File without changes
test CHANGED
@@ -34,8 +34,26 @@
34
34
  ```
35
35
 
36
36
  ### 試したこと
37
- warden.authenticate!(auth_options)の処理で401エラーが返って以降の処理が実行されていないのが原因かと思い調べていたのですが解決方法がわからず難航しています。
37
+ ~~warden.authenticate!(auth_options)の処理で401エラーが返って以降の処理が実行されていないのが原因かと思い調べていたのですが解決方法がわからず難航しています。~~
38
+ Completed 401 Unauthorizedが出た後、本来であればsession#newへリダイレクトするのがdeviseの仕様とわかったのですがnewアクションにリダイレクトできていないのが原因かと思います。
39
+ - 下記の内容を別のアクションへ飛ばすようにしたが、そのアクションも呼び出されなかった。
40
+ 変更前
41
+ ```
38
- どなたかご教示いただけると幸いです。
42
+ def auth_options
43
+ { scope: resource_name, recall: "#{controller_path}#new" }
44
+ end
45
+ ```
46
+ 変更後
47
+ ```
48
+ def failed
49
+ binding.pry
50
+ end
51
+
52
+ def auth_options
53
+ { scope: resource_name, recall: "#{controller_path}#failed" }
54
+ end
55
+ ```
56
+ 別の部分の影響で401エラー後に止まってしまっているのかと思い調べたのですが、原因がわからず、どなたかご教示いただけると幸いです。
39
57
 
40
58
  ### 補足情報(FW/ツールのバージョンなど)
41
59
  ruby 2.6.5