質問編集履歴

2

ApplicationコントローラーとUserモデルの追記

2021/08/21 11:03

投稿

TechOtome
TechOtome

スコア2

test CHANGED
File without changes
test CHANGED
@@ -161,3 +161,87 @@
161
161
  deviseの不具合に直面したことがなく、またエラー画面が出る訳でもないので、どう修正すれば良いのか分からず戸惑っています・・・
162
162
 
163
163
  ヒントでも構いませんのでご意見をいただけたら幸いです。
164
+
165
+
166
+
167
+
168
+
169
+ ### 追記1:ApplicationController
170
+
171
+
172
+
173
+ ```ruby
174
+
175
+ class ApplicationController < ActionController::Base
176
+
177
+ before_action :configure_permitted_parameters, if: :devise_controller?
178
+
179
+
180
+
181
+ private
182
+
183
+ def configure_permitted_parameters
184
+
185
+ devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname])
186
+
187
+ end
188
+
189
+ end
190
+
191
+ ```
192
+
193
+
194
+
195
+ ### 追記2:userモデル
196
+
197
+
198
+
199
+ 本アプリでは同期通信のいいね機能が実装されています。
200
+
201
+ パスワードのバリデーションに関しては、devise導入時から記述していて、やはりその時は正常に処理されていました。
202
+
203
+
204
+
205
+ ```ruby
206
+
207
+ class User < ApplicationRecord
208
+
209
+ # Include default devise modules. Others available are:
210
+
211
+ # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
212
+
213
+ devise :database_authenticatable, :registerable,
214
+
215
+ :recoverable, :rememberable, :validatable
216
+
217
+
218
+
219
+ validates :nickname, presence: true
220
+
221
+ # passwordは半角英数字のバリデーション
222
+
223
+ validates :encrypted_password, :password, :password_confirmation, format: { with: /(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d]/ }
224
+
225
+
226
+
227
+ has_many :events, through: :reaction_likes
228
+
229
+ has_many :reaction_likes, dependent: :destroy
230
+
231
+ # ユーザーがどの番組に「いいねをした」かを取得する
232
+
233
+ has_many :reaction_liked_events, through: :reaction_likes, source: :event
234
+
235
+
236
+
237
+ # ユーザーがすでにいいねをしているかどうかの判定をする。
238
+
239
+ def already_reaction_liked?(event)
240
+
241
+ self.reaction_likes.exists?(event_id: event.id)
242
+
243
+ end
244
+
245
+ end
246
+
247
+ ```

1

誤字の修正

2021/08/21 11:03

投稿

TechOtome
TechOtome

スコア2

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- ・pramsには必要な情報が入っているのは確認しました
19
+ ・paramsには必要な情報が入っているのは確認しました
20
20
 
21
21
  ・最後の行にCompleted 200とありますが、DBには登録されていません
22
22