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

質問編集履歴

1

コントローラーの中身の追加

2019/04/24 09:34

投稿

morimi714
morimi714

スコア24

title CHANGED
File without changes
body CHANGED
@@ -60,4 +60,86 @@
60
60
  <td><input type="checkbox" name="time[]" value="sun4"></td>
61
61
  </tr>
62
62
  </table>
63
+ ```
64
+
65
+ ```ここに言語を入力
66
+ def new
67
+ @teacher = Teacher.new
68
+ end
69
+
70
+ def show
71
+ @teacher = Teacher.find_by(id: params[:id])
72
+ end
73
+
74
+ def create
75
+ @teacher = Teacher.new(teacher_params)
76
+ if @teacher.save
77
+ flash[:notice] = "家庭教師登録が完了しました"
78
+ redirect_to("/teachers/#{@teacher.id}")
79
+ else
80
+ render("teachers/new")
81
+ end
82
+ end
83
+
84
+ def edit
85
+ @teacher = Teacher.find_by(id: params[:id])
86
+ end
87
+
88
+ # updateアクションを作成してください
89
+ def update
90
+ @teacher = Teacher.find_by(id: params[:id])
91
+
92
+ if params[:image]
93
+ @teacher.img = "#{@teacher.id}.jpg"
94
+ image = params[:image]
95
+ File.binwrite("public/teacher_images/#{@teacher.img}", image.read)
96
+ end
97
+
98
+ if @teacher.update(teacher_params)
99
+ flash[:notice] = "ユーザー情報を編集しました"
100
+ redirect_to("/teachers/#{@teacher.id}")
101
+ else
102
+ flash[:notice] = "編集できませんでした"
103
+ render("teachers/edit")
104
+ end
105
+ end
106
+
107
+ def login_form
108
+ end
109
+
110
+ def login
111
+ @teacher = Teacher.find_by(email: params[:email])
112
+ if @teacher && @teacher.authenticate(params[:password])
113
+ session[:teacher_id] = @teacher.id
114
+ flash[:notice] = "ログインしました"
115
+ redirect_to("/")
116
+ else
117
+ @error_message = "メールアドレスまたはパスワードが間違っています"
118
+ @email = params[:email]
119
+ @password = params[:password]
120
+
121
+ render("teachers/login_form")
122
+ end
123
+ end
124
+
125
+ def logout
126
+ session[:teacher_id] = nil
127
+ flash[:notice] = "ログアウトしました"
128
+ redirect_to("/login")
129
+ end
130
+
131
+ # ensure_correct_userを定義してください
132
+ def ensure_correct_teacher
133
+ if @current_teacher.id != params[:id].to_i
134
+ flash[:notice] = "権限がありません"
135
+ redirect_to("/")
136
+ end
137
+ end
138
+
139
+ private
140
+ def teacher_params
141
+ params.permit(:name, :email, :password, :nickname, :gender, :university, :wage, :trafficwage, :time, :prefecture, :region, :profile, :message)
142
+ end
143
+ end
144
+
63
145
  ```