我有一张报名表。
当用户注册时,应用程序应该将数据保存在enrollments表和users表中。(我需要这种分离,因为用户的个人资料可以更改,但他为该特定注册输入的数据必须存档。所以即使稍后用户更改了他的姓氏,在注册表格中我也会有他的初始信息。)
所以我正在考虑在enrollments表中保存数据然后有一个 after_create 调用,像这样......
class Enrollment < ActiveRecord::Base
  after_create :save_corresponding_user
  def save_corresponding_user
    user = User.new
    user.full_name = self.user_full_name
    user.email = self.user_email
    user.mobile_phone = self.user_mobile_phone
    user.save
  end
end
问题是,如果保存用户因任何原因失败怎么办。如何回滚和销毁enrollments表中刚刚保存的数据?
