我需要阻止ActiveRecord#save记录大字段的内容。
有没有办法在Rails 2.3.x上配置它?
@document.save #=> Will log something like:
Apr 20 13:45:42 ubuntu rails[2619]: Document::HTML Update (7.0ms) UPDATE `documents` SET `some_meta_data` = 1, `more_meta_data` = 2, `document_content` = '\n\n\n<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional.....................'
Apr 20 13:45:42 ubuntu rails[2619]: SQL (5.8ms) COMMIT
我不希望记录字段document_content
,因为它是mysql'text'类型。
答案 0 :(得分:2)
如果您使用的是rails 3,请在config / application.rb中执行以下操作:
config.filter_parameters += [:password, :document_content]
然后重新启动您的应用。从那时起,日志应显示类似'document_content' = [ FILTERED ]
的内容,如果内存为我服务的话。
如果您使用的是rails 2,则需要将以下内容放入控制器中:
filter_parameter_logging :document_content
如果需要,您可以附加以逗号分隔的字段列表。