作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道创建 ActiveRecord 对象时调用回调和验证的顺序是什么。
假设我有一些自定义验证和回调,如下所示:
validates :reference_code, :if => :reference_code, :on => :create
before_create :assign_reference
哪个会先运行?回调需要首先发生,否则验证可能会失败。
最佳答案
最新版本 Rails 的列表的最新版本可以在 ActiveRecord::Callbacks
documentation 中找到。 。 Rails 4、3 和 2 的列表如下。
此列表的最新版本可以在 Rails 4 Guides 中找到。 .
before_validation
after_validation
保存前
around_save
before_create
around_create
after_create
保存后
after_commit/after_rollback
before_validation
after_validation
保存前
around_save
更新前
around_update
after_update
保存后
after_commit/after_rollback
before_destroy
around_destroy
after_destroy
after_commit/after_rollback
此列表的最新版本可以在 Rails 3 Guides 中找到。 .
before_validation
after_validation
保存前
around_save
before_create
around_create
after_create
保存后
before_validation
after_validation
保存前
around_save
更新前
around_update
after_update
保存后
before_destroy
around_destroy
after_destroy
此列表的最新版本可以在 Rails 2.3 Guides 中找到。
before_validation
before_validation_on_create
after_validation
after_validation_on_create
保存前
before_create
INSERT
操作after_create
保存后
before_validation
before_validation_on_update
after_validation
after_validation_on_update
保存前
更新前
更新
操作after_update
保存后
before_destroy
删除
操作after_destroy
由于您需要首先验证 reference_code
,因此可以在 after_validation
回调或其后出现的任何回调中调用 assign_reference
方法我上面提供的列表。
关于ruby-on-rails - ActiveRecord 回调和验证的顺序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10969673/
我参加了一些类(class)并阅读了 YAGNI 的用途。但是,作为一个整体,这个原则从来没有让我满意。它引入了一个逻辑悖论。 作为一个假设,您正在设计一个打算向前扩展的框架。 YAGNI(可能还有
我是一名优秀的程序员,十分优秀!