【问题标题】:Disable ActiveRecord parameter filtering禁用 ActiveRecord 参数过滤
【发布时间】:2021-09-22 13:46:01
【问题描述】:

我正在使用 Rails 6,它会自动过滤我的 ActiveRecord 模型中包含单词 token 的列。我很感激,但这些列并不敏感。

我四处搜索,但找不到如何允许这些字段显示在我的控制台或日志中。

谢谢!

【问题讨论】:

    标签: ruby-on-rails activerecord ruby-on-rails-6


    【解决方案1】:

    默认情况下,当您创建一个新的 Rails 应用程序时,this template 将用于创建一个名为 config/initializers/filter_parameter_logging.rb 的初始化程序。您可以编辑在此文件中配置的Rails.application.config.filter_parameters 值。进行更改后,您需要重新启动应用程序。

    您可能希望将其更改为:authenticity_token,而不是仅仅从列表中删除:token,这样您仍然可以过滤掉Rails 真实性令牌。

    【讨论】:

    • 谢谢!如果我确实希望它过滤掉名称为 *token 的其他内容,有没有办法可以将这些特定列列入白名单,以免它们被过滤?
    • 我认为你可以做到这一点,但它不会是一个简单的白名单。您必须编写正则表达式或使用 Proc 来管理过滤。过滤由ActiveSupport::ParameterFilter class 处理。那里的 cmets 有更多信息。
    • 一个小问题,但如果你也想看到那里的变化,你也应该重新启动 Rails 控制台。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    相关资源
    最近更新 更多