避免 ActiveRecord#save 记录大字段
我需要防止 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'。
I need to prevent ActiveRecord#save from logging the content of large fields.
Is there a way to configure this on 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
I don't want the field document_content
to be logged since is of type mysql 'text'.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用的是 Rails 3,请在 config/application.rb 中执行以下操作:
然后重新启动您的应用程序。从那时起,如果我没记错的话,日志应该显示类似于
'document_content' = [ FILTERED ]
的内容。如果您使用的是 Rails 2,则需要将以下内容放入控制器中:
如果需要,您可以附加逗号分隔的字段列表。
If you are using rails 3, do something like this in config/application.rb:
Then restart your app. From that point on the log should show something like
'document_content' = [ FILTERED ]
if memory serves me right.If you are using rails 2, you need to put the following inside your controller:
You can append a comma separated list of fields if needed.