这是我的代码示例:
class User < ActiveRecord::Base
belongs_to :account
after_initialize :setup_account
def setup_account
self.account = Account.new
end
def email=(email)
self.account.email = email
super(email)
end
end
现在,以下调用失败:
User.new(email: 'hello@example.com')
因为这是在 setup_account 方法之前执行 email= 方法,其中将设置帐户变量。
您将如何更改此代码以按预期工作?我知道复制电子邮件是一件坏事,但它可能是别的东西,而不是简单的副本。