customer=Customer.new #create a new Customer object
customer.id =1000+i #Id needs to be set first because otherwise its automatically set
customer.update_attributes(
:fname=>'mike',
:lname=>'hancock',
:Year=>1998,
:Model=>'buick',
:Engine=>'4 liter',
:vinnum=>'h920129801298',
:signupdate=>"#{Date.today}",
:password=>'fguygfyed',
)
contact=Contact.create(
:customer_id=>customer.id, #set the foreign primary key
:contactmethod=>4567894561,
:contacttype=>"sms",
:dateadded=>"#{Date.today}",
)
customer.Contacts.create(
:contactmethod=> 4657894564,
:contacttype=> 'email',
:dateadded=> "#{Date.today}",
)
i+=1
end
このコードは機能します。ただし、代わりに
contact=Contact.create( :customer_id=>customer.id, #外部主キーを設定
最後に書いたようにcustomer.Contacts.createを書いたところ、コードは失敗します。customer.Contacts.create のインスタンスを 1 つしか持てず、もう 1 つのインスタンスには customer.id を明示的に宣言しなければならないのはなぜですか?