回答編集履歴

2

追記

2015/10/29 21:27

投稿

退会済みユーザー
test CHANGED
@@ -96,7 +96,11 @@
96
96
 
97
97
  ```
98
98
 
99
- .new_record?
99
+ if !@task.new_record? #新しいレコードでないか?
100
+
101
+
102
+
103
+ if @task.persisted? #保存済みか?
100
104
 
101
105
  ```
102
106
 

1

コメントに対しての補足

2015/10/29 21:26

投稿

退会済みユーザー
test CHANGED
@@ -59,3 +59,57 @@
59
59
  redirect_to でメッセージを表示する際は、flash[:notice]にメッセージを渡してあげれば表示できますが
60
60
 
61
61
  たぶん特殊なやりかただと思いますのでrenderでいいと思います。
62
+
63
+
64
+
65
+
66
+
67
+ 【追記2015.10.30】
68
+
69
+ ```
70
+
71
+ def create
72
+
73
+ @project = Project.find(params[:project_id])
74
+
75
+ @task = @project.tasks.create(task_params)
76
+
77
+ if !@task.new_record?
78
+
79
+ # binding.pry
80
+
81
+ redirect_to project_path(@project.id)
82
+
83
+ else
84
+
85
+ # binding.pry
86
+
87
+ render 'projects/show'
88
+
89
+ end
90
+
91
+ end
92
+
93
+ ```
94
+
95
+ このように
96
+
97
+ ```
98
+
99
+ .new_record?
100
+
101
+ ```
102
+
103
+ でcreateの結果を調べてあげる必要があります。(saveメソッドの時は失敗するとfalseが戻ります)
104
+
105
+ [ActiveRecordの更新系操作](http://www.atmarkit.co.jp/ait/articles/1106/27/news110.html)
106
+
107
+ ```
108
+
109
+ if @task = @project.tasks.create(task_params)
110
+
111
+ ```
112
+
113
+ では未入力チェックがかかってもFalseにはならないので面倒ですが上記処理で行っていただけますでしょうか。
114
+
115
+ よろしくお願いします。