rails:强制模型无效

bym*_*nan 4 ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

我有一个非常具体的情况,我想强制模型的实例无效.

像这样的东西:

user = User.new
user.valid? #true
user.make_not_valid!
user.valid? #false
Run Code Online (Sandbox Code Playgroud)

有什么方法可以实现吗?

谢谢!

Bro*_*tse 7

你可以做:

validate :forced_to_be_invalid

def make_not_valid!
  @not_valid = true
end

private

def forced_to_be_invalid
  errors.add(:base, 'has been forced to be invalid') if @not_valid
end
Run Code Online (Sandbox Code Playgroud)