我有2个表:联系人和用户(设计)。 我想在每次创建联系人时创建一个用户。 联系人belongs_to:user 用户has_one:联系
contact.rb文件中的以下代码会在您添加新联系人时创建用户:
before_create :create_user
protected
def create_user
self.user = User.new({ :email => self.email, :password => '123456' })
return user.save
end
但是,联系人字段user_id(外键)未使用新用户ID进行更新。 怎么能做到这一点?
谢谢!
答案 0 :(得分:2)
试试这个
def create_user
self.user = User.create({ :email => self.email, :password => '123456' })
end
我的猜测是关联没有被注册,因为在User.new
调用之后,对象尚未保存到数据库并且尚未分配id属性,并且id属性是记录所需的内容该协会。 User.create
初始化对象并一步将其保存到数据库中(假设所有验证都通过)。