やった事
コード
前提・実現したいこと
現在、1:nのアソシエーションを作りたいです。
以前より勉強しているのですが、全く理解が進んでおらずご教示頂きたいです。
目標としてはcompanies:invoicesがある時、invoicesのshowにcompany_idの情報を表示したいです。
おそらくshowに記載方法になるのかと思いますがどう明記すればcompany_idが表示されますでしょうか?
該当のソースコード
ruby
1・model 2belogns_to :company 3has_many :invoices 4 5・invoicesにcompany_idをmigrationで追加 6
モデルの紐付け自体は問題なくできている、という状況でよろしいですか?
はい!SQLを見てもrails cでもcompany_idは入っているようです。
ただ、company_idが"nil"となっており、上手く取得出来ていないように見受けられます。
よろしくお願い致します。
すみません、状況が見えないのでモデルのファイルとdb/schema.rbを見せていただけますか?
db/schema.rbは長くなりますが、対象のところのみあれば問題ないでしょうか?よろしくお願い致します。
対象部分だけで構いません
すみません回答の方に追加してしまったのですが、ご確認よろしくお願い致します。
ざっと見た感じカラムだけが存在していて紐付け自体はされていないように見えます。
add_foreign_keyみたいなのが書かれた行はありませんでしたか?
migrationファイル(20190111031031_create_companies.rb)に
t.belongs_to :user, index: true # 追加:usersテーブルと紐付け
の記入はあるのですが、foreign_keyはないと思います。
null: false, foreign_key: true
も付けてNULLを許容せず外部キー制約をつけるべきかなと思いますが...
ありがとうございます。
この状態からrollbackをして追記するのがベストでしょうか?
それともaddcolumnにて追加の方がよろしいでしょうか?
可能であれば作り直すのが一番いいですね。
なるほど!分かりました!一度やってみます!ありがとうございます。