質問編集履歴

4

修正

2020/08/02 16:22

投稿

ntk__7__ksn
ntk__7__ksn

スコア14

test CHANGED
File without changes
test CHANGED
@@ -174,7 +174,7 @@
174
174
 
175
175
  #自分で調べたこと、エラー文
176
176
 
177
- Book.create!でエラーが出ています。
177
+ Book.create!でエラーを調べ下記のエラー文が出ています。
178
178
 
179
179
  ```
180
180
 

3

修正

2020/08/02 16:22

投稿

ntk__7__ksn
ntk__7__ksn

スコア14

test CHANGED
File without changes
test CHANGED
@@ -172,7 +172,7 @@
172
172
 
173
173
  ```
174
174
 
175
- #自分で調べたことや試したこと
175
+ #自分で調べたこと、エラー文
176
176
 
177
177
  Book.create!でエラーが出ています。
178
178
 

2

修正

2020/08/02 16:18

投稿

ntk__7__ksn
ntk__7__ksn

スコア14

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  コンソールで
4
4
 
5
- booksテーブルに **name: "book1"** と **price: 1000** を保存したい。
5
+ booksテーブルに **name: "book1"** と **price: 1000** **published_on: Time.parse("20201010").ago(1.months)**を保存したい。
6
6
 
7
7
  booksテーブルにデータは保存はできないがpublishersテーブルにデータは保存できる。
8
8
 
@@ -26,21 +26,23 @@
26
26
 
27
27
  ```
28
28
 
29
- [15] pry(main)> book = Book.create(
29
+ [12] pry(main)> book = Book.create(
30
-
30
+
31
- [15] pry(main)* name: "book1",
31
+ [12] pry(main)* name: "Book 1",
32
+
32
-
33
+ [12] pry(main)* published_on: Time.parse("20201010").ago(1.months),
34
+
33
- [15] pry(main)* price: 1000,
35
+ [12] pry(main)* price: 1000,
34
-
36
+
35
- [15] pry(main)* )
37
+ [12] pry(main)* )
36
-
38
+
37
- => #<Book:0x00007fa7f1be4498
39
+ => #<Book:0x00007fb4f3e62e40
38
40
 
39
41
  id: nil,
40
42
 
41
- name: "book1",
43
+ name: "Book 1",
42
-
44
+
43
- published_on: nil,
45
+ published_on: Thu, 10 Sep 2020,
44
46
 
45
47
  price: 1000,
46
48
 
@@ -152,7 +154,7 @@
152
154
 
153
155
 
154
156
 
155
- belongs_to :publisher # 本は出版社名を一つ持っている
157
+ belongs_to :publisher, optional: true # 本は出版社名を一つ持っている
156
158
 
157
159
  has_many :book_authors # 本はたくさんの著者が書いている、中間テーブル
158
160
 
@@ -172,36 +174,38 @@
172
174
 
173
175
  #自分で調べたことや試したこと
174
176
 
177
+ Book.create!でエラーが出ています。
178
+
175
- ```
179
+ ```
176
-
180
+
177
- [17] pry(main)> book.save
181
+ [13] pry(main)> Book.create!
178
-
182
+
179
- => false
183
+ ActiveRecord::RecordInvalid: Validation failed: Publisher must exist, Name can't be blank, Price is not a number
184
+
180
-
185
+ from /Users/7tk/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/activerecord-6.0.3.2/lib/active_record/validations.rb:80:in `raise_validation_error'
186
+
181
- ```
187
+ ```
182
-
188
+
183
- したらfalseとなっている時はバション失敗しているとの事
189
+ > ActiveRecord :: RecordInvalid:証に失敗まし:パブッシャーが存在している必要があります。名前を空白にするこはできません価格は数値ではありません
184
-
190
+
191
+
192
+
185
- バーリデーションを確認しても特に変えないいけないもはないかなと思いました。
193
+ との意味で
186
-
194
+
187
- ```
195
+ ```
196
+
188
-
197
+ [12] pry(main)> book = Book.create(
198
+
199
+ [12] pry(main)* name: "Book 1",
200
+
201
+ [12] pry(main)* published_on: Time.parse("20201010").ago(1.months),
202
+
189
- abc.errors.full_messages
203
+ [12] pry(main)* price: 1000,
204
+
190
-
205
+ [12] pry(main)* )
206
+
191
- ```
207
+ ```
192
-
208
+
193
- るとエラー文表示でき事。でやてみ結果⬇︎
209
+ 上記のように書いたのですがどこが間違っているのか分からなかったので、
194
-
195
- ```
196
-
197
- [16] pry(main)> Book.save
198
-
199
- NoMethodError: undefined method `save' for #<Class:0x00007fa7ed9dc488>
200
-
201
- from /Users/7tk/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/activerecord-6.0.3.2/lib/active_record/dynamic_matchers.rb:22:in `method_missing'
202
-
203
- ```
204
-
205
- 検索しても分からずで解決できませんでした。
206
210
 
207
211
  わかる方がいらっしゃいましたらよろしくお願いします。

1

修正

2020/08/02 16:12

投稿

ntk__7__ksn
ntk__7__ksn

スコア14

test CHANGED
File without changes
test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
 
60
60
 
61
- **⬇︎publishersテーブル保存出来る⬇︎**
61
+ **⬇︎publishersテーブル保存出来る⬇︎**
62
62
 
63
63
  ```
64
64