回答編集履歴

2

修正

2020/10/23 01:18

投稿

rhiroe
rhiroe

スコア2344

test CHANGED
@@ -58,10 +58,18 @@
58
58
 
59
59
  ```rb
60
60
 
61
+ Prototype.create!(prototype_params)
62
+
63
+
64
+
61
65
  if @prototype.save!
62
66
 
63
67
  ```
64
68
 
65
69
 
66
70
 
67
- のように`save`の代わりに`save!`メソッドを使うと失敗したときに例外を発生させるようになるので原因を画面から確認できると思います。
71
+ のように`create`や`save`の代わりに`create!`や`save!`メソッドを使うと失敗したときに例外を発生させるようになるので原因を画面から確認できると思います。
72
+
73
+
74
+
75
+ あと`create`メソッドは`save`の処理も含まれているのでメソッド内の処理としてはおかしなことになってます。

1

修正

2020/10/23 01:18

投稿

rhiroe
rhiroe

スコア2344

test CHANGED
@@ -30,11 +30,11 @@
30
30
 
31
31
  def create
32
32
 
33
- @prototype = Prototype.create(prototype_params)
33
+ @prototype = Prototype.create(prototype_params) # ROLLBACKの発生源は多分ココ
34
34
 
35
35
  if @prototype.save
36
36
 
37
- # ^^^^^^^^^^^^^^^^^^
37
+ # ^^^^^^^^^^^^^^^^^^ 一度保存に失敗しているものはもう一度保存しても失敗する
38
38
 
39
39
  redirect_to root_path
40
40