回答編集履歴

1

説明の追記

2016/08/18 01:59

投稿

guest1213
guest1213

スコア306

test CHANGED
@@ -23,3 +23,21 @@
23
23
 
24
24
 
25
25
  Lineクラスを本当に作成していますか?
26
+
27
+
28
+
29
+ ## 追記
30
+
31
+ もうちょっといろいろいじってみましたが、「クラスが存在しないかつ必須」ではなく**「エンティティが存在しないかつ必須」**が正解ですね。belongs_toで自分が属する親がいない状態ってことです。
32
+
33
+ つまりFactoryGirlで適切に行う場合は、あらかじめ関連先のエンティティをcreateで作っておいたり、質問者様のように`association`を指定したりで回避できます。私の環境ではassociation指定でFactoryGirlが関連先のエンティティを適切にDBに挿入してくれましたので再現しませんでした。
34
+
35
+
36
+
37
+ あまりbelongs_toが必須でなくてもいいというケースはないかと思いますが、belongs_toのオプションとして`optional: true`を指定すればValidation failedは回避できます。
38
+
39
+ なおRails5からはbelongs_toの必須か否かがconfig/以下のファイル内にて`config.active_record.belongs_to_required_by_default = true`と設定されているため、初期値が「必須」となります。よって`optional: true`と指定するようです。
40
+
41
+
42
+
43
+ いずれにしろ予約語であるか否かにかかわらず、適切に構成すれば問題なく実行できるはずですが…。