如何在Rails应用中设置legacy_connection_handling为false?
解决Rails Active Record旧连接处理弃用警告
问题详情
运行bundle exec rspec时弹出以下弃用提示:
使用旧连接处理已被弃用。请在应用中设置
legacy_connection_handling为false。新的连接处理不支持
connection_handlers的getter和setter方法。(调用自<top (required)> at /Users/a/rails-activerecord-models-and-rails-readme/config/environment.rb:5)
你查看了environment.rb但不知道怎么配置,其实这个设置要放在config/application.rb文件里,按以下步骤操作:
操作步骤
- 打开项目根目录下的
config/application.rb文件 - 找到
class Application < Rails::Application代码块,在里面添加一行配置:config.active_record.legacy_connection_handling = false - 修改后的文件核心部分示例:
module YourAppName class Application < Rails::Application # 保留你原有的配置,比如load_defaults等 config.load_defaults 7.0 # 新增这行配置 config.active_record.legacy_connection_handling = false # 其他已有配置... end end - 保存文件后重新运行
bundle exec rspec,弃用警告就会消失
补充说明
environment.rb的作用是加载和初始化应用,Rails的核心配置(比如Active Record的连接规则)都统一放在application.rb中管理,所以要在这里添加配置项。
内容的提问来源于stack exchange,提问作者user21971090
相关产品推荐
相关产品推荐

