锁定老帖子 主题:after_find不见了
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-09-13
cookoo 写道 jack 写道 谢谢提醒了,不过这里提到一个效率问题,实际上 每次进行这样的计算的确很慢,那么能否指计算一次呢? 换句话说,就是在rails中能否使用一般意义上的单件类。类似这种after_find的操作,每次的计算基本上一样的。如果能够使用单件类,就能够极大的改善性能。不过这样的单件类得要提供给所有的用户使用,而且只能计算一次. 什么叫计算一次?大部分时候都需要针对不同对象具体计算的,性能改善总得在满足需求的前提下。如果是不针对具体数据/对象的计算那就如上面qiezi说的过载一下类方法好了, 所谓修改类的单子类就是修改类方法。 如果是这样不如添加/修改记录时把计算结果保存到字段里。 |
|
返回顶楼 | |
发表时间:2006-09-13
qiezi 写道 如果是这样不如添加/修改记录时把计算结果保存到字段里。 赞同你这个想法,也正准备这样操作呢 |
|
返回顶楼 | |
发表时间:2006-09-13
qiezi 写道 如果是这样不如添加/修改记录时把计算结果保存到字段里。 赞同你这个想法,也正准备这样操作呢 ... 晕了 又是2次一样 |
|
返回顶楼 | |
发表时间:2006-09-13
jack 写道 qiezi 写道 如果是这样不如添加/修改记录时把计算结果保存到字段里。 赞同你这个想法,也正准备这样操作呢 ... 晕了 又是2次一样 题外话: 要考虑给rails应用加点简单的防重复提交功能才好啊。。 |
|
返回顶楼 | |
发表时间:2006-09-14
主题说要做数据预处理,如果能在数据创建和插入时就能"一次性预处理"掉的话那就直接用after_create或after_save好了,根本不需要用after_find嘛。
什么时候需要用到after_find呢?很少,比如auditing:记录谁访问过某些敏感数据,但这样的需求是没法事先计算的。如果控制粒度不需要那么细的话就在使用类方法find的时候截获一下。 |
|
返回顶楼 | |