質問編集履歴
1
app/controller/sessions_controller.rbを加筆しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -274,6 +274,88 @@
|
|
274
274
|
|
275
275
|
|
276
276
|
|
277
|
+
```
|
278
|
+
|
279
|
+
**app/controller/sessions_controller.rb**
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
|
284
|
+
|
285
|
+
class SessionsController < ApplicationController
|
286
|
+
|
287
|
+
|
288
|
+
|
289
|
+
# GET /login
|
290
|
+
|
291
|
+
def new
|
292
|
+
|
293
|
+
#@session = Session.new
|
294
|
+
|
295
|
+
end
|
296
|
+
|
297
|
+
|
298
|
+
|
299
|
+
# POST /login
|
300
|
+
|
301
|
+
def create
|
302
|
+
|
303
|
+
user = User.find_by(email: params[:session][:email])
|
304
|
+
|
305
|
+
if user && user.authenticate(params[:session][:password])
|
306
|
+
|
307
|
+
if user.activated?
|
308
|
+
|
309
|
+
# Success
|
310
|
+
|
311
|
+
log_in user
|
312
|
+
|
313
|
+
params[:session][:remember_me] == '1' ? remember(user) : forget(user)
|
314
|
+
|
315
|
+
redirect_back_or user
|
316
|
+
|
317
|
+
else
|
318
|
+
|
319
|
+
message = "Account not activated. "
|
320
|
+
|
321
|
+
message += "Check your email for the activation link."
|
322
|
+
|
323
|
+
flash[:warning] = message
|
324
|
+
|
325
|
+
redirect_to root_url
|
326
|
+
|
327
|
+
end
|
328
|
+
|
329
|
+
else
|
330
|
+
|
331
|
+
# Failure
|
332
|
+
|
333
|
+
flash.now[:danger] = 'Invalid email/password combination'
|
334
|
+
|
335
|
+
render 'new'
|
336
|
+
|
337
|
+
end
|
338
|
+
|
339
|
+
end
|
340
|
+
|
341
|
+
|
342
|
+
|
343
|
+
# DELETE /logout
|
344
|
+
|
345
|
+
def destroy
|
346
|
+
|
347
|
+
log_out if logged_in?
|
348
|
+
|
349
|
+
redirect_to root_url
|
350
|
+
|
351
|
+
end
|
352
|
+
|
353
|
+
end
|
354
|
+
|
355
|
+
```
|
356
|
+
|
357
|
+
|
358
|
+
|
277
359
|
|
278
360
|
|
279
361
|
エラーが発生した後にタイプミスや誤字脱字を疑いRailsチュートリアルのコードをコピペしたのでこれらによるエラーの可能性は低いかと思います
|