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

回答編集履歴

2

一部変更

2015/09/24 11:04

投稿

rifuch
rifuch

スコア1901

answer CHANGED
@@ -1,8 +1,9 @@
1
- まず、フォームを表示するためのコントローラメソッドが必要なので、
1
+ 最初にviewを表示する場合のnewは省略できますが(form_for等を使わなければ)
2
- newメソッドは必要ですよね。
2
+ POSTされた時に行うnew(create)は必須です。
3
+ これは、プロトコルがステートレスなので、
3
- (他のメソッドのビューに、すでにフォームが表示されている場合はその限りではありません)
4
+ 最初に行ったnewの状態をサーバー側が覚えていないからです。
4
5
 
5
- あと、2回newするのは、バリデーションが通らないなどの異常系の動作の時に必要だからです。
6
+ あと、2回newするのは、バリデーションが通らないなどの異常系の動作の時に必要だからというのもあります。
6
7
 
7
8
  1回目のnew
8
9
  値が空(デフォルト値)のモデルを作成 -> viewのフォームに値を入れて表示

1

一部追加

2015/09/24 11:04

投稿

rifuch
rifuch

スコア1901

answer CHANGED
@@ -1,5 +1,9 @@
1
- バリデーションが通らないなどの異常系の動作の時に必要だからです。
1
+ まず、フォームを表示するためのコントローラメソッドが必要なので、
2
+ newメソッドは必要ですよね。
3
+ (他のメソッドのビューに、すでにフォームが表示されている場合はその限りではありません)
2
4
 
5
+ あと、2回newするのは、バリデーションが通らないなどの異常系の動作の時に必要だからです。
6
+
3
7
  1回目のnew
4
8
  値が空(デフォルト値)のモデルを作成 -> viewのフォームに値を入れて表示
5
9
  2回目のnew