我想使用ActiveRecord的before_save回调来帮助我跟踪哪些用户编辑哪些记录。例如
class Foo < ActiveRecord::Base
before_save
self.edited_by = curent_user.username
end
....
end
我遇到的问题是Foo不知道current_user是什么,因为它来自控制器助手。
我知道,我可以在控制器中完成所有操作。但如果可以的话,将它放入before_save回调中会很好。
答案 0 :(得分:1)
最简单的方法是让你的模型更丰富:
class Article
def edit!(editor)
self.edited_by = editor.name
self.save!
end
end
无需使用回调。