我有两个模型:
class User < ActiveRecord::Base
before_create :add_address
has_one :address
def add_address
self.address_id ||= Address.generate_new.id
end
end
和
class Address < ActiveRecord::Base
belongs_to :user
def self.generate_new
new_address = # some code generating UUID
Address.create!({address: new_address})
end
end
当我创建 User.new 时,它会创建地址关联,保存它,我可以使用 user.address 获取它,并且在 mysql 地址行中具有正确的 user_id,但 mysql 中的用户具有 address_id = nil。我做错了什么?我已经尝试了 User.new\user.build_address 它创建和保存地址的两种方式,但用户总是有 address_id = nil