我使用的模型枚举,我要覆盖砰方法,例如:使用Rails枚举
class Foo < Application Record
enum status: [:ok, :error]
def ok!
self.error_message = nil
super
end
end
测试此覆写爆炸方法,它工作正常。有没有潜在的缺陷?
另外,岂不是更好/清洁剂超完全跳过:
def ok!
self.update_attributes(status: :ok, error_message: nil)
end
谢谢!
更新:我意识到调用'super'会导致一些问题,如果我想将参数传递给新方法,所以我认为我已经决定显式调用''save''或''save!''等等。 – richleenyc