1

我想知道 before_save 和 after_save 之间的确切区别。现在,我已经阅读了文档,并且根据他们的名字知道了它们的区别。但是,我想知道使用实时实体的确切区别。如果您提供任何示例,那就太好了。

4

1 回答 1

3

保存之前:当您点击保存按钮并且记录存储在数据库中之前,将调用此处编写的功能。

使用方法:保存前可以正常使用。举个简单的例子,假设我们可以在记录进入数据库之前修改或添加字段值。


保存后:当您点击保存按钮并且记录存储在数据库中后,将调用此处编写的功能。

用法:为了帮助您了解 after_save 的用法,
让我们以一个包含SL.No、Name、CourseStudent No的学生记录为例。
假设 SL.No 是一个自动递增字段,Student no 是 Course 的第一个字母和 SL.No 的组合。
现在,在记录保存在数据库中之前,自动递增的编号不会存在,因此除非保存记录,否则您将无法获得所需的学生编号。
所以 after_save 这里有帮助,因为逻辑是在记录保存后执行的,已经生成了一个自动递增的 no。

于 2014-11-04T20:14:34.407 回答