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

回答編集履歴

1

情報追加

2020/02/28 08:11

投稿

winterboum
winterboum

スコア23654

answer CHANGED
@@ -3,4 +3,25 @@
3
3
  `redirect_to(user_url(current_user)) unless @user == current_user`
4
4
  にしてみてください
5
5
  なお
6
- `@user = User.find(params[:id])`をなくして `unless @user == current_user`を`unless params[:id] == current_user.id` にしたほうがDBへのアクセスを抑制できます
6
+ `@user = User.find(params[:id])`をなくして `unless @user == current_user`を`unless params[:id] == current_user.id` にしたほうがDBへのアクセスを抑制できます
7
+
8
+ 追加
9
+ そのテストでFailするのは
10
+ ```
11
+ def edit
12
+ @user = User.find(params[:id])
13
+ end
14
+ ```
15
+ となっているのが原因ですね。
16
+ ```
17
+ def edit
18
+ if params[:id] == current_user.id
19
+ @user = User.find(params[:id])
20
+ render action: :edit
21
+ else
22
+ @user = current_user
23
+ render action: :show
24
+ end
25
+ end
26
+ ```
27
+ でしょうか