编写一个全局方法,通过current_user设置created_by和updated_by

时间:2012-12-22 05:34:52

标签: ruby-on-rails

我项目中的所有模型都是created_by和updated_by。 Created_by由create_user在create上设置,updated_by由current_user在update上设置。有没有办法编写一个全局方法来管理它?

2 个答案:

答案 0 :(得分:1)

我写了一个创作它的宝石 - https://github.com/house9/clerk

目前不是很容易配置

  • 您的数据库列必须在数据库表中命名为created_by_id和updated_by_id

查看自述文件以获取更多信息

答案 1 :(得分:0)

全球实现这一目标的一种方法是实施ActiveRecord::Observer。观察者可以一次“观察”多个模型并检查它们的生命周期回调。因此,在您的观察者中,您将指定要观察的所有模型,并定义after_createafter_update方法以在数据库中执行您想要的任何更新。

请参阅Rails 3 Observer -- looking to learn how to implement an Observer for multiple models