我正在尝试将少数对象中的错误记录到db表中,比如说“错误”。
理想情况下,我想对其进行声明,以便可以以类似于“验证”或“attr_accessible”的方式将其添加到对象定义中。例如:
def SomeObject
validate: :someMember
on_error: :someCallback
def someMethod
end
end
我将在哪里开始实现这种性质的东西,或者可以选择一种普遍接受的方法来进行此类事情?
扩大一点:
假设我解析了一个文件,其内容定义了ActiveRecord扩展名(ActiveRecord::MyClass),并且发生以下错误之一。
1. Type mismatch: self.someMember is STRING, expected BOOLEAN.
2. File badly formatted. Some line isn't formatted as expected.
3. Validation failed (ActiveRecord)
对于这些错误,我想使用(通常)在对象定义顶部找到的指令类型语法来记录这些错误。
最佳答案
听起来您正在寻找Observer。使您的类(class)成为观察员,然后使用after_validation
active record callback运行记录您的错误的代码。
关于ruby-on-rails - 使用类似after_save的方法声明处理程序和处理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13120024/