You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails 5仅API应用控制器测试报错:Invalid option key问题求助

解决Rails 5 API应用控制器测试中raise_on_unfiltered_parameters错误

你遇到的问题核心是错误地在控制器层面设置了属于Rails全局应用的配置参数。raise_on_unfiltered_parameters是Rails的应用级配置项,不能直接在ApplicationController里定义,这就是加载控制器时直接抛出无效选项错误的原因。

下面是具体的排查和解决步骤:

  • 第一步:检查app/controllers/application_controller.rb的第一行代码,你大概率在这里写了类似config.raise_on_unfiltered_parameters = true的配置。这是错误的,因为控制器实例并不具备config属性来设置全局应用配置。

  • 第二步:将这个配置迁移到正确的位置:

    • 如果要让配置全局生效,把代码放到config/application.rb的Application类中:
      module YourAppName
        class Application < Rails::Application
          # 其他已有的配置...
          config.raise_on_unfiltered_parameters = true
        end
      end
      
    • 如果只想在测试环境启用该配置,就放到config/environments/test.rb里:
      Rails.application.configure do
        # 其他测试环境配置...
        config.raise_on_unfiltered_parameters = true
      end
      
  • 第三步:删除ApplicationController里那行错误的配置代码,重新运行控制器测试,这个错误应该就会消失了。

补充说明:这个配置项的作用是当有未过滤的参数传入时抛出异常,在Rails 5.x中它属于应用级别的配置,而非控制器级别的,因此必须放在正确的配置文件中。

内容的提问来源于stack exchange,提问作者user2593486

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:51:20