您将如何重构此代码以检查用户是否添加了 4+ 位 PIN,以便代码尽可能短?
def has_pin?
return self.pin.to_i > 1000 rescue nil
false
end
理想情况下,不要在用户创建时使用 AR 验证,因为它们最初是在没有 PIN 的情况下创建的,但在某些特定情况下可能会选择稍后添加它们。
PS:由于某种原因,PIN码存储为字符串。
我会选择:
def pin_valid?
pin.present? && pin.match?(/Ad{4,}z/)
end
为什么你的目标是让你的代码尽可能短?我始终致力于使我的代码尽可能易于理解。