How to raise a validation error in Rails after save
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This probably isn't a good thing to want to do, but it came up for me, | |
# so in the spirit of helping others with weird problems (and because this | |
# seems to be documented almost nowhere): | |
after_save do | |
if some_failing_condition | |
errors.add(:something, "some failure happened.") | |
raise ActiveRecord::RecordInvalid.new(self) | |
end | |
end |
raises
Class: RuboCop::Cop::Style::RaiseArgs
cop withrubocop
. Any hints?
raise ActiveRecord::RecordInvalid, user if user.invalid?
and no rubocop error
Thanks!!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Still helpful in October 2020. We were on Rails 6 and we thought "oh, but it's all ActiveRelation now" but nope, ActiveRelation inherits from ActiveRecord::Base, and this is still the correct error class. Thank you!