我的大多数表格中都有几个字段created_by
和updated_by
。这将包含创建或更新Object的用户的用户标识。是否有可能像rails如何处理created_at
一样有类似的功能?我基本上希望它的功能与插入时间戳的方式相同。我应该能够在迁移脚本的列中定义并配置rails,以便在每次更改特定对象时从辅助方法中获取用户对象。有没有直接的方法来做或有插件这样做?
答案 0 :(得分:3)
此外,您可以在没有宝石但使用Rails Observers
的情况下执行此操作您可以像这样创建观察者:
class UserTouchObserver < ActiveRecord::Observer
observe :product, :post, :comment
def after_create(model)
update_attribute(:created_by, current_user.id) if model.respond_to?(:created_by)
end
def after_update(model)
update_attribute(:updated_by, current_user.id) if model.respond_to?(:updated_by)
end
end
答案 1 :(得分:2)
我能在github上找到一些这样做的插件: