登録フォームを持っています。
ユーザーが登録すると、アプリはデータを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保存したばかりのデータをテーブルからロールバックして破棄するにはどうすればよいですか?
