質問編集履歴
1
自分の確認した所を理由付きで記載
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,45 +12,73 @@
|
|
12
12
|
|
13
13
|
```
|
14
14
|
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
|
15
|
-
下記が
|
19
|
+
下記がsessions_controller.rbのcreateアクションの中身です。SessionsControllerのcreateアクションのローカル変数か,メソッドが定義されていないと書いてありましたので、怪しそうなlog_in userとremember userを確認したんですが、SessionsHelperに記載されています。
|
16
20
|
|
17
21
|
```
|
18
22
|
|
19
|
-
|
23
|
+
[SessionsController]
|
20
24
|
|
21
25
|
|
22
26
|
|
23
|
-
|
27
|
+
def create
|
24
28
|
|
25
|
-
de
|
29
|
+
user = User.find_by(email: params[:session][:email].downcase)
|
26
30
|
|
31
|
+
if user && user.authenticate(params[:session][:password])
|
32
|
+
|
33
|
+
log_in user
|
34
|
+
|
35
|
+
remember user # SessionsHelper
|
36
|
+
|
37
|
+
redirect_to user
|
38
|
+
|
39
|
+
else
|
40
|
+
|
41
|
+
flash.now[:danger] = 'Invalid email/password combination'
|
42
|
+
|
43
|
+
render 'new'
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
```
|
50
|
+
|
51
|
+
```
|
52
|
+
|
53
|
+
[SessionsHelper]
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
def log_in(user)
|
58
|
+
|
27
|
-
|
59
|
+
session[:user_id] = user.id
|
28
60
|
|
29
61
|
end
|
30
62
|
|
31
63
|
|
32
64
|
|
33
|
-
|
65
|
+
def remember(user)
|
34
66
|
|
35
|
-
|
67
|
+
user.remember
|
36
68
|
|
37
|
-
|
69
|
+
cookies.permanent.signed[:user_id] = user.id
|
38
70
|
|
39
|
-
post login_path, params: { session: { email: "", password: "" } }
|
40
|
-
|
41
|
-
|
71
|
+
cookies.permanent[:remember_token] = user.remember_token
|
42
|
-
|
43
|
-
assert_not flash.empty?
|
44
|
-
|
45
|
-
get root_path
|
46
|
-
|
47
|
-
assert flash.empty?
|
48
72
|
|
49
73
|
end
|
50
74
|
|
75
|
+
```
|
51
76
|
|
77
|
+
他にusers_login_test.rbに対するエラー内容が記載されていたので、22行目(自分のPC)のpost login_pathを確認しているんですが、何が間違っているのかわかりませんでした。ご教授頂ければ幸いです。宜しくお願い致します。
|
52
78
|
|
79
|
+
```
|
80
|
+
|
53
|
-
|
81
|
+
test "login with valid information followed by logout" do
|
54
82
|
|
55
83
|
get login_path
|
56
84
|
|
@@ -80,7 +108,7 @@
|
|
80
108
|
|
81
109
|
assert_redirected_to root_url
|
82
110
|
|
83
|
-
|
111
|
+
|
84
112
|
|
85
113
|
delete logout_path
|
86
114
|
|
@@ -94,38 +122,4 @@
|
|
94
122
|
|
95
123
|
end
|
96
124
|
|
97
|
-
|
98
|
-
|
99
125
|
```
|
100
|
-
|
101
|
-
下記がsessions_controller.rbのcreateアクションの中身です。
|
102
|
-
|
103
|
-
```
|
104
|
-
|
105
|
-
def create
|
106
|
-
|
107
|
-
user = User.find_by(email: params[:session][:email].downcase)
|
108
|
-
|
109
|
-
if user && user.authenticate(params[:session][:password])
|
110
|
-
|
111
|
-
log_in user
|
112
|
-
|
113
|
-
remember user # SessionsHelper
|
114
|
-
|
115
|
-
redirect_to user
|
116
|
-
|
117
|
-
else
|
118
|
-
|
119
|
-
flash.now[:danger] = 'Invalid email/password combination'
|
120
|
-
|
121
|
-
render 'new'
|
122
|
-
|
123
|
-
end
|
124
|
-
|
125
|
-
end
|
126
|
-
|
127
|
-
```
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
sessions_controllerのcreateアクションのどの部分が間違っているか分かる方いらっしゃいますか?
|