アカウント、ユーザー、連絡先の 3 つのモデルがあります。
class User < ActiveRecord::Base
has_one :account
has_many :contacts, :through => :account
end
class Account < ActiveRecord::Base
belongs_to :owner, :class_name => 'User'
has_many :contacts
end
class Contact < ActiveRecord::Base
belongs_to :account
end
連絡先コントローラーでこのように、ユーザー レコードを使用して新しい連絡先を構築しようとしています。
def create
@contact = current_user.contacts.build(params[:contact])
respond_to do |format|
if @contact.save
...
else
...
end
end
end
これを行うと、エラーは発生しません。連絡先レコードはデータベースに保存されますが、連絡先に account_id 列が設定されず、コレクションに追加されないため、@ current_user.contacts を呼び出すと空のコレクションが返されます.
助言がありますか?