質問編集履歴

3

SessionsController

2020/12/31 05:17

投稿

axax90
axax90

スコア120

test CHANGED
File without changes
test CHANGED
@@ -103,3 +103,71 @@
103
103
  どうしてこの様な現象がおきるのでしょうか?
104
104
 
105
105
  キャッシュか何かの問題でしょうか
106
+
107
+
108
+
109
+
110
+
111
+ ## 追記
112
+
113
+
114
+
115
+ こちらがSessionコントローラーです。
116
+
117
+ Deviseのデフォルトのもので、特に何もしておりません。
118
+
119
+
120
+
121
+ ```ruby
122
+
123
+ class Users::SessionsController < Devise::SessionsController
124
+
125
+ # before_action :configure_sign_in_params, only: [:create]
126
+
127
+
128
+
129
+ # GET /resource/sign_in
130
+
131
+ # def new
132
+
133
+ # super
134
+
135
+ # end
136
+
137
+
138
+
139
+ # POST /resource/sign_in
140
+
141
+ # def create
142
+
143
+ # super
144
+
145
+ # end
146
+
147
+
148
+
149
+ # DELETE /resource/sign_out
150
+
151
+ # def destroy
152
+
153
+ # super
154
+
155
+ # end
156
+
157
+
158
+
159
+ # protected
160
+
161
+
162
+
163
+ # If you have extra params to permit, append them to the sanitizer.
164
+
165
+ # def configure_sign_in_params
166
+
167
+ # devise_parameter_sanitizer.permit(:sign_in, keys: [:attribute])
168
+
169
+ # end
170
+
171
+ end
172
+
173
+ ```

2

マークダウン

2020/12/31 05:17

投稿

axax90
axax90

スコア120

test CHANGED
@@ -1 +1 @@
1
- Railsのエラー(ログアウト済のユーザーに有効でないリンクが表示されることはありますか?
1
+ Railsのエラー(ログアウト済のユーザーに、既に有効でないリンクが表示されます)
test CHANGED
@@ -60,7 +60,11 @@
60
60
 
61
61
 
62
62
 
63
+ ```ruby
64
+
63
65
  = form_for current_user, html: { id: :edit_user_form } do |f|
66
+
67
+ ```
64
68
 
65
69
 
66
70
 
@@ -74,7 +78,11 @@
74
78
 
75
79
 
76
80
 
81
+ ```ruby
82
+
77
83
  <a href="/users/45/edit">マイページ</a>
84
+
85
+ ```
78
86
 
79
87
 
80
88
 
@@ -82,7 +90,11 @@
82
90
 
83
91
 
84
92
 
93
+ ```ruby
94
+
85
95
  <a href="/sign_in">ログイン</a>
96
+
97
+ ```
86
98
 
87
99
 
88
100
 

1

内容を詳しくしました。

2020/12/31 03:49

投稿

axax90
axax90

スコア120

test CHANGED
@@ -1 +1 @@
1
- Railsのエラーの原因
1
+ Railsのエラー(ログアウト済ユーザーに有効でないリンクが表示されることはありますか?)
test CHANGED
@@ -33,3 +33,61 @@
33
33
  message: #<ActionView::Template::Error: First argument in form cannot contain nil or be empty>
34
34
 
35
35
  ```
36
+
37
+
38
+
39
+ 下記はコメントのやりとりからの追記です。
40
+
41
+
42
+
43
+ ## 追記
44
+
45
+
46
+
47
+ ありがとうございます。
48
+
49
+ 原因はたぶん分かりました。
50
+
51
+
52
+
53
+ > app/views/users/edit.html.slim:5:in `_app_views_users_edit_html_slim__2219724267466675965_69899664890000'
54
+
55
+
56
+
57
+
58
+
59
+ 上記のviewの5行目は下記になります。
60
+
61
+
62
+
63
+ = form_for current_user, html: { id: :edit_user_form } do |f|
64
+
65
+
66
+
67
+ 既にログアウトしていて、current_user が無いのにアクセスすると、
68
+
69
+ 提示したエラーがおきます。
70
+
71
+
72
+
73
+ ログインしていると、下記が表示され、
74
+
75
+
76
+
77
+ <a href="/users/45/edit">マイページ</a>
78
+
79
+
80
+
81
+ ログインしてないと、ログイン画面のリンクが表示されます。
82
+
83
+
84
+
85
+ <a href="/sign_in">ログイン</a>
86
+
87
+
88
+
89
+ ログアウト済なのに、マイページのリンクが表示されているユーザーがいるということでしょうか?
90
+
91
+ どうしてこの様な現象がおきるのでしょうか?
92
+
93
+ キャッシュか何かの問題でしょうか