避免 ActiveRecord#save 记录大字段

发布于 2024-11-02 20:12:00 字数 522 浏览 3 评论 0原文

我需要防止 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

葬花如无物 2024-11-09 20:12:00

如果您使用的是 Rails 3,请在 config/application.rb 中执行以下操作:

config.filter_parameters += [:password, :document_content]

然后重新启动您的应用程序。从那时起,如果我没记错的话,日志应该显示类似于 'document_content' = [ FILTERED ] 的内容。

如果您使用的是 Rails 2,则需要将以下内容放入控制器中:

filter_parameter_logging :document_content

如果需要,您可以附加逗号分隔的字段列表。

If you are using rails 3, do something like this in config/application.rb:

config.filter_parameters += [:password, :document_content]

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:

filter_parameter_logging :document_content

You can append a comma separated list of fields if needed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文