我已经开始在Rails 3应用程序中使用audited gem.
它工作正常,但我有一个问题,我有一个大文本列的表.我不希望在此列中的数据保存在审计表中的"audited_changes"作为表将在尺寸上吹出来.
我知道我可以用以下内容来禁止对该列的审计:except =>:my_big_text_column
因此,在总结我也想知道用户编辑文本,但我不希望保存每次的文本的副本.如果我取消对该列的审核,如果他们编辑该列,我将完全没有审核.
我找到了一个适用于我想要审核的答案.我刚刚创建了自己的Audited :: Adapters :: ActiveRecord :: Audit版本并将其放在初始化器中.
我添加了一个before_save方法来操作audited_changes哈希.我只是将哈希值更改为对指定的大文本列说"已更改".似乎做我需要的.
module Audited
module Adapters
module ActiveRecord
class Audit < ::ActiveRecord::Base
before_save :remove_text_fields
def remove_text_fields
if self.audited_changes.include?("case_notes")
self.audited_changes["case_notes"]="changed"
end
end
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
860 次 |
| 最近记录: |