質問編集履歴
4
保存失敗時のエラー追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -24,6 +24,27 @@
|
|
24
24
|
redirect_to bookers_path
|
25
25
|
end
|
26
26
|
|
27
|
+
更新
|
28
|
+
|
29
|
+
NoMethodError in Bookers#create
|
30
|
+
Showing /vagrant/Bookers/app/views/bookers/index.html.erb where line #11 raised:
|
31
|
+
|
32
|
+
undefined method `each' for nil:NilClass
|
33
|
+
Extracted source (around line #11):
|
34
|
+
9
|
35
|
+
10
|
36
|
+
11
|
37
|
+
12
|
38
|
+
13
|
39
|
+
14
|
40
|
+
|
41
|
+
</thead>
|
42
|
+
<tbody>
|
43
|
+
<% @bookers.each do |booker| %>
|
44
|
+
<tr>
|
45
|
+
<td><%= booker.title %></td>
|
46
|
+
<td><%= booker.body %></td>
|
47
|
+
|
27
48
|
```
|
28
49
|
|
29
50
|
### 該当のソースコード
|
@@ -45,6 +66,26 @@
|
|
45
66
|
render :index
|
46
67
|
end
|
47
68
|
end
|
69
|
+
|
70
|
+
更新
|
71
|
+
|
72
|
+
コントローラーのファイル
|
73
|
+
def index
|
74
|
+
@bookers = Booker.all
|
75
|
+
@booker = Booker.new
|
76
|
+
end
|
77
|
+
|
78
|
+
def create
|
79
|
+
booker = Booker.new(booker_params)
|
80
|
+
if booker.save
|
81
|
+
flash[:notice] = "Successfully create!"
|
82
|
+
redirect_to booker_path(booker)
|
83
|
+
else
|
84
|
+
booker_path
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
・モデルのファイルに変更はありません。
|
48
89
|
```
|
49
90
|
|
50
91
|
### 試したこと
|
3
保存失敗時のエラー追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -59,4 +59,8 @@
|
|
59
59
|
ここにより詳細な情報を記載してください。
|
60
60
|
以前に一度モデルを作ったのですが、名前をミスしてrails d model モデル名
|
61
61
|
としてモデルを消してmodelsフォルダの以前にあったファイルを消したら 赤い丸がつきました。
|
62
|
-
ちなみに、sublime textを使っていて、もしかしたらこれが原因なのかと思いました。
|
62
|
+
ちなみに、sublime textを使っていて、もしかしたらこれが原因なのかと思いました。
|
63
|
+
|
64
|
+
更新内容
|
65
|
+
・2つのカラムに内容を記述するときのみ保存できてて、どちらかが空欄の時、もしくは両方空欄の時にエラーができるので、バリデーションはできてるのかなと思いました。しかし、保存失敗した時にエラーが発生する状況です。
|
66
|
+
・そのエラー内容と関係のありそうなコードを「更新」と書いた下に書き足します。
|
2
コントローラーのファイルの部分を変えました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -38,8 +38,12 @@
|
|
38
38
|
コントローラーのファイル
|
39
39
|
def create
|
40
40
|
booker = Booker.new(booker_params)
|
41
|
-
booker.save
|
41
|
+
if booker.save
|
42
|
+
flash[:notice] = "Successfully create!"
|
42
|
-
|
43
|
+
redirect_to booker_path(booker)
|
44
|
+
else
|
45
|
+
render :index
|
46
|
+
end
|
43
47
|
end
|
44
48
|
```
|
45
49
|
|
1
コントローラーの保存する部分のコードを足しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -29,10 +29,18 @@
|
|
29
29
|
### 該当のソースコード
|
30
30
|
|
31
31
|
```ここに言語名を入力
|
32
|
+
モデルのファイル
|
32
33
|
class Booker < ApplicationRecord
|
33
34
|
validates :title, presence: true
|
34
35
|
validates :body, presence: true
|
35
36
|
end
|
37
|
+
|
38
|
+
コントローラーのファイル
|
39
|
+
def create
|
40
|
+
booker = Booker.new(booker_params)
|
41
|
+
booker.save
|
42
|
+
redirect_to booker_path(booker)
|
43
|
+
end
|
36
44
|
```
|
37
45
|
|
38
46
|
### 試したこと
|