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