情况:
该杂志接受提交。提交后,编辑会安排您提交的内容以供审核。审核完成后,您将不再允许对其进行编辑。
所以,我已在各州提交。 “草稿”,“排队”,“已审核”等等。大多数进入这些不同状态的切换都是由某些操作触发的,例如,当编辑器安排提交时,提交就会排队。容易狡猾。但是,切换到“已审核”状态不会由任何操作触发,只是在某个日期时间过后才会发生。
我对如何实现这个有两点想法:
before_load
ActiveRecord回调,每次加载时都会对提交执行一些逻辑。 “排队?不?没关系。否则,如果会议距离不到三小时,请将其切换为'已审核'。”我希望得到人们对第二个想法的意见。
select
表(正准备成为应用程序中查询次数最多的表...)中执行submissions
之前,我需要始终执行一些逻辑。如果没有好的方法来完成选项二(或者,我希望!,选项三),我将使用每日cron作业的选项一。能够在会议前一天编辑就足够了。
答案 0 :(得分:1)
也许使用after_find,虽然你的表现会有点糟糕,但如果你做的事情和before_load一样疯狂,性能会很糟糕,那说钱可能比性能更重要,如果是这样的话,我会选择after_find。