Rails从6.0.4升级到7.0.1后启动报错:uninitialized constant InheritedResources::Base
解决Rails 7.0.1升级后ActiveAdmin报错
uninitialized constant InheritedResources::Base 报错原因
你当前使用的ActiveAdmin 2.12.0版本不兼容Rails 7.0.1,同时手动指定的inherited_resources ~>1.11版本也无法适配ActiveAdmin 2.x与Rails 7的组合,导致常量加载失败。
修复步骤
升级ActiveAdmin到兼容Rails 7的版本
修改Gemfile中的ActiveAdmin配置,指定支持Rails 7的3.x系列版本:gem 'activeadmin', '~> 3.2.0' # 可根据官方最新稳定版调整匹配inherited_resources版本
ActiveAdmin 3.x需要更高版本的inherited_resources,更新Gemfile配置:gem 'inherited_resources', '~> 1.13.0'更新依赖并安装
在终端执行命令,同步更新相关gem:bundle update activeadmin inherited_resources排查其他Admin依赖兼容性
active_admin_role 0.2.1版本较老,可能不兼容ActiveAdmin 3.x,建议确认其兼容版本或更换权限管理方案responsive_active_admin 0.0.6需检查是否支持ActiveAdmin 3.x,必要时替换为维护中的替代插件activeadmin_addons需确保版本适配ActiveAdmin 3.x和Rails 7
清理缓存并重启服务器
bundle clean rails server
内容的提问来源于stack exchange,提问作者Himanshu Kale
相关产品推荐
相关产品推荐

