回答編集履歴
1
ポイントがずれていたので追記
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
|
|