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

質問編集履歴

1

書式の改善

2016/09/17 04:23

投稿

s.k
s.k

スコア423

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,18 @@
1
1
  こんにちは。
2
2
  ログイン情報記録機能に関して理解できない点がありますので、質問させていただきます。
3
3
 
4
- 以下の画面でloginをするとエラーがでます。
5
- ※特にみてほしいところは情報を記録するRememberボタンを置いているところです。
6
4
 
5
+
6
+ 【やりたいこと】
7
+ login画面のRemember(アカウント設定の保存)機能を実装すること
8
+
9
+ 【やったこと】
10
+ ・user.rb・sessions_helper.rb・sessions_controllerに関連するコードを書きました。
11
+ 詳細は下に記します。
12
+
13
+ 【エラー】
14
+ ブラウザでRememberボタンを押すとエラーが表示されます。
15
+
7
16
  ![](7a7c4b57e344ee8b5d01865507d58699.png)
8
17
 
9
18
 
@@ -27,6 +36,9 @@
27
36
 
28
37
 
29
38
  【session_controller】
39
+ 下の※のコードにあるrememberが未定義とのエラー内容ですが、
40
+ 他ファイルできちんと定義しています...
41
+
30
42
  ```
31
43
  class SessionsController < ApplicationController
32
44
  def new
@@ -36,8 +48,8 @@
36
48
  user = User.find_by(email: params[:session][:email].downcase)
37
49
  if user && user.authenticate(params[:session][:password])
38
50
  log_in user
39
- params[:session][:remember_me]=='1'?remember(user):forget(user)
51
+ ** params[:session][:remember_me]=='1'?remember(user):forget(user)**
40
- redirect_to user
52
+ redirect_to user
41
53
  else
42
54
  flash.now[:danger]='Invalid email/password combination'
43
55
  render 'new'
@@ -52,6 +64,11 @@
52
64
 
53
65
  end
54
66
  ```
55
-
56
- 自分では、何が問題なのかわかりません...
57
- 気づいた方、ご指摘お願い致します!!!
67
+ 【session_helper.rb】
68
+ ```
69
+ def remember(user)
70
+ user.remember
71
+ cookies.permanent.signed[:user_id] = user.id
72
+ cookies.permanent[:remember_token] = user.remember_token
73
+ end
74
+ ```