Active Record回调与高级属性详解
1. 错误消息定制
在进行唯一性验证失败时,我们可以更改返回的错误消息。例如,若要修改唯一性验证失败时的消息,可以这样编码:
ActiveRecord::Errors.default_error_messages[:taken] = "is in use"
通常建议将此代码放在应用程序配置目录下的 environment.rb 文件中。
2. Active Record回调概述
Active Record 负责控制模型对象的生命周期,包括创建、修改、保存、更新和销毁。通过回调,我们的代码可以参与到这个监控过程中。在对象生命周期的重要事件发生时,我们可以编写代码来执行特定操作,如复杂验证、映射数据库列值,甚至阻止某些操作完成。
Active Record 定义了 20 个回调,其中 18 个形成 before/after 对,用于包裹对 Active Record 对象的操作。例如, before_destroy 回调会在调用 destroy 方法之前被调用, after_destroy 则在之后被调用。另外两个例外是 after_find 和 after_initialize ,它们没有对应的 before_xxx 回调。
以下是 Activ
超级会员免费看
订阅专栏 解锁全文
6

被折叠的 条评论
为什么被折叠?



