teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

SessionsController

2020/12/31 05:17

投稿

axax90
axax90

スコア120

title CHANGED
File without changes
body CHANGED
@@ -50,4 +50,38 @@
50
50
 
51
51
  ログアウト済なのに、マイページのリンクが表示されているユーザーがいるということでしょうか?
52
52
  どうしてこの様な現象がおきるのでしょうか?
53
- キャッシュか何かの問題でしょうか
53
+ キャッシュか何かの問題でしょうか
54
+
55
+
56
+ ## 追記
57
+
58
+ こちらがSessionコントローラーです。
59
+ Deviseのデフォルトのもので、特に何もしておりません。
60
+
61
+ ```ruby
62
+ class Users::SessionsController < Devise::SessionsController
63
+ # before_action :configure_sign_in_params, only: [:create]
64
+
65
+ # GET /resource/sign_in
66
+ # def new
67
+ # super
68
+ # end
69
+
70
+ # POST /resource/sign_in
71
+ # def create
72
+ # super
73
+ # end
74
+
75
+ # DELETE /resource/sign_out
76
+ # def destroy
77
+ # super
78
+ # end
79
+
80
+ # protected
81
+
82
+ # If you have extra params to permit, append them to the sanitizer.
83
+ # def configure_sign_in_params
84
+ # devise_parameter_sanitizer.permit(:sign_in, keys: [:attribute])
85
+ # end
86
+ end
87
+ ```

2

マークダウン

2020/12/31 05:17

投稿

axax90
axax90

スコア120

title CHANGED
@@ -1,1 +1,1 @@
1
- Railsのエラー(ログアウト済のユーザーに有効でないリンクが表示されることはありますか?
1
+ Railsのエラー(ログアウト済のユーザーに、既に有効でないリンクが表示されます)
body CHANGED
@@ -29,18 +29,24 @@
29
29
 
30
30
  上記のviewの5行目は下記になります。
31
31
 
32
+ ```ruby
32
33
  = form_for current_user, html: { id: :edit_user_form } do |f|
34
+ ```
33
35
 
34
36
  既にログアウトしていて、current_user が無いのにアクセスすると、
35
37
  提示したエラーがおきます。
36
38
 
37
39
  ログインしていると、下記が表示され、
38
40
 
41
+ ```ruby
39
42
  <a href="/users/45/edit">マイページ</a>
43
+ ```
40
44
 
41
45
  ログインしてないと、ログイン画面のリンクが表示されます。
42
46
 
47
+ ```ruby
43
48
  <a href="/sign_in">ログイン</a>
49
+ ```
44
50
 
45
51
  ログアウト済なのに、マイページのリンクが表示されているユーザーがいるということでしょうか?
46
52
  どうしてこの様な現象がおきるのでしょうか?

1

内容を詳しくしました。

2020/12/31 03:49

投稿

axax90
axax90

スコア120

title CHANGED
@@ -1,1 +1,1 @@
1
- Railsのエラーの原因
1
+ Railsのエラー(ログアウト済ユーザーに有効でないリンクが表示されることはありますか?)
body CHANGED
@@ -15,4 +15,33 @@
15
15
  ```
16
16
  env: production
17
17
  message: #<ActionView::Template::Error: First argument in form cannot contain nil or be empty>
18
- ```
18
+ ```
19
+
20
+ 下記はコメントのやりとりからの追記です。
21
+
22
+ ## 追記
23
+
24
+ ありがとうございます。
25
+ 原因はたぶん分かりました。
26
+
27
+ > app/views/users/edit.html.slim:5:in `_app_views_users_edit_html_slim__2219724267466675965_69899664890000'
28
+
29
+
30
+ 上記のviewの5行目は下記になります。
31
+
32
+ = form_for current_user, html: { id: :edit_user_form } do |f|
33
+
34
+ 既にログアウトしていて、current_user が無いのにアクセスすると、
35
+ 提示したエラーがおきます。
36
+
37
+ ログインしていると、下記が表示され、
38
+
39
+ <a href="/users/45/edit">マイページ</a>
40
+
41
+ ログインしてないと、ログイン画面のリンクが表示されます。
42
+
43
+ <a href="/sign_in">ログイン</a>
44
+
45
+ ログアウト済なのに、マイページのリンクが表示されているユーザーがいるということでしょうか?
46
+ どうしてこの様な現象がおきるのでしょうか?
47
+ キャッシュか何かの問題でしょうか