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

升级Rails应用遇ArgumentError: unknown keyword: :klass问题求助

解决Rails7升级时的unknown keyword: :klass报错
  • 问题根源:你当前使用的arel-9.0.0版本过于老旧,和Rails 7完全不兼容。Rails 7要求的arel最低版本在12.x以上,旧版arel的Arel::Table#initialize方法不支持:klass这个关键字参数,所以触发报错。

  • 修复步骤:

    1. 查看Gemfile.lock文件,确认arel的版本是否被锁定在9.0.0。
    2. 执行命令bundle update arel,强制更新arel到适配Rails7的版本。
    3. 如果更新失败,检查是否有其他gem依赖强制指定了旧版arel——比如一些久未维护的插件、第三方gem,需要更新这些依赖或者替换为兼容Rails7的替代方案。
    4. 也可以直接在Gemfile中添加明确的版本约束:gem 'arel', '>= 12.0',然后执行bundle install。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 11:35:22