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

質問編集履歴

1

ファイルを全て記入しました。

2020/09/02 19:46

投稿

seiya.asano
seiya.asano

スコア1

title CHANGED
@@ -1,1 +1,1 @@
1
- Micropostお気に入り機能を追加したいです。
1
+ Micropostお気に入り機能を追加したいです。
body CHANGED
@@ -38,14 +38,67 @@
38
38
 
39
39
  <%= render 'microposts/microposts', micropost: @micropost %>
40
40
 
41
+
42
+
43
+
41
44
  ②user_contoroller.rb
42
45
 
46
+ class UsersController < ApplicationController
47
+ before_action :require_user_logged_in, only: [:index, :show, :followings, :followers, :likes]
48
+
43
- def likes
49
+ def index
44
- @micropost = Microposts.find(params[:id])
50
+ @users = User.order(id: :desc).page(params[:page]).per(25)
45
- counts(microposts)
46
- end
51
+ end
47
52
 
53
+ def show
54
+ @user = User.find(params[:id])
55
+ @microposts = @user.microposts.order(id: :desc).page(params[:page])
56
+ counts(@user)
57
+ end
48
58
 
59
+ def new
60
+ @user = User.new
61
+ end
62
+
63
+ def create
64
+ @user = User.new(user_params)
65
+
66
+ if @user.save
67
+ flash[:success] = 'ユーザを登録しました。'
68
+ redirect_to @user
69
+ else
70
+ flash.now[:danger] = 'ユーザの登録に失敗しました。'
71
+ render :new
72
+ end
73
+ end
74
+
75
+ def followings
76
+ @user = User.find(params[:id])
77
+ @followings = @user.followings.page(params[:page])
78
+ counts(@user)
79
+ end
80
+
81
+ def followers
82
+ @user = User.find(params[:id])
83
+ @followers = @user.followers.page(params[:page])
84
+ counts(@user)
85
+ end
86
+
87
+ def likes
88
+ @micropost = Microposts.find(params[:id])
89
+ counts(microposts)
90
+ end
91
+
92
+ private
93
+
94
+ def user_params
95
+ params.require(:user).permit(:name, :email, :password, :password_confirmation)
96
+ end
97
+
98
+ end
99
+
100
+
101
+
49
102
  ```
50
103
 
51
104