質問編集履歴

1

app/controllers/users.controller.rbのソースコードを追加しました。

2021/10/03 05:41

投稿

yasshun1229
yasshun1229

スコア8

test CHANGED
File without changes
test CHANGED
@@ -204,6 +204,120 @@
204
204
 
205
205
  ```
206
206
 
207
+ ##追加のソースコード
208
+
209
+ app/controllers/users.controller.rb
210
+
211
+ ```Ruby on Rails
212
+
213
+ class UsersController < ApplicationController
214
+
215
+ before_action :require_user_logged_in, only: [:index, :show, :followings, :followers]
216
+
217
+
218
+
219
+ def index
220
+
221
+ @pagy, @users = pagy(User.order(id: :desc), items: 25)
222
+
223
+ end
224
+
225
+
226
+
227
+ def show
228
+
229
+ @user = User.find(params[:id])
230
+
231
+ @pagy, @microposts = pagy(@user.microposts.order(id: :desc))
232
+
233
+ counts(@user)
234
+
235
+ end
236
+
237
+
238
+
239
+ def new
240
+
241
+ @user = User.new
242
+
243
+ end
244
+
245
+
246
+
247
+ def create
248
+
249
+ @user = User.new(user_params)
250
+
251
+
252
+
253
+ if @user.save
254
+
255
+ flash[:success] = 'ユーザを登録しました。'
256
+
257
+ redirect_to @user
258
+
259
+ else
260
+
261
+ flash.now[:danger] = 'ユーザの登録に失敗しました。'
262
+
263
+ render :new
264
+
265
+ end
266
+
267
+ end
268
+
269
+
270
+
271
+ def destroy # 教材にはないですが、ユーザをどうしても削除したいことがあるので記載しました。
272
+
273
+ @user = User.find(params[:id])
274
+
275
+ @user.destroy
276
+
277
+ end
278
+
279
+
280
+
281
+ def followings
282
+
283
+ @user = User.find(params[:id])
284
+
285
+ @pagy, @followings = pagy(@user.followings)
286
+
287
+ counts(@user)
288
+
289
+ end
290
+
291
+
292
+
293
+ def followers
294
+
295
+ @user = User.find(params[:id])
296
+
297
+ @pagy, @followers = pagy(@user.followers)
298
+
299
+ counts(@user)
300
+
301
+ end
302
+
303
+
304
+
305
+ private
306
+
307
+
308
+
309
+ def user_params
310
+
311
+ params.require(:user).permit(:name, :email, :password, :password_confirmation)
312
+
313
+ end
314
+
315
+ end
316
+
317
+ ```
318
+
319
+
320
+
207
321
  # 開発環境
208
322
 
209
323
  ・AWS