in user
model have after_created callback as
after_create :count_files def count_files errors[:base] << "error working" errors.add(:base, "error working") return false end
as can see, adding base errors , returning false always, still user created. think, if after_create
returns false automatic rollback happens instead of saving data in database. case, data saving in database , transaction rollback doesn't happen. why that? how can prevent user being created if after_create
fails?
after_create
means transaction closed, object created.
instead after_create
have add custom validation, like:
validate :count_files private def count_files count = counting_hear errors.add(:base, "error working") if count < 10 end
edited
but if wanna use callbacks (after_create
) raise exeption instead return false
after_create :count_files def count_files errors[:base] << "error working" errors.add(:base, "error working") raise mysupercustomexeption end
Comments
Post a Comment