回答編集履歴

1

ポイントがずれていたので追記

2019/01/07 00:30

投稿

maisumakun
maisumakun

スコア145184

test CHANGED
@@ -1,3 +1,21 @@
1
+ > 行いたいことは、createアクションの中で、@post.saveに失敗した際に、renderを用いて、newのビューに戻り、エラー文を表示することです。この時に、どうしてnewアクションの中で、@post=Post.newをしなければならないのかがよくわかりません。
2
+
3
+
4
+
5
+ `create`に失敗した場合、`new`アクションは**呼び出されません**。`create`内にある`render :new`は、`new`の**ビューを表示する**という意味で、`new`アクションは実行しません。
6
+
7
+
8
+
9
+ `new`アクションは、最初にフォームを表示するときのためのものです。ヘルパーなどを適切に動かすために、`Post.new`したインスタンスが必要となります。
10
+
11
+
12
+
13
+ ----
14
+
15
+ (少し誤解があった回答)
16
+
17
+
18
+
1
19
  > @post=Post.find_by(id: params[:id])等を用いて、createアクション内で生成された@postのインスタンス変数を探し、その中に格納されたあエラー文を表示する。という考え方は間違っているのでしょうか??
2
20
 
3
21