为什么我在启动rspec时会得到“可以修改冻结的数组”运行时错误?

问题描述 投票:0回答:2

当我在控制台中启动rspec spec / models时出现此错误。

加载./spec/models/user_spec.rb时发生错误。失败/错误:需要File.expand_path('../../ config / environment',FILE)

RuntimeError:无法修改冻结的数组

我通过审查我修改的所有内容找到了错误的地方,这在我的routes.rb中是遗漏的

resources :templates
  resources :template_items
end

但我无法理解为什么会出现这种类型的错误。它显然没有显示错误来自哪里,我找不到这两件事之间的关系。

ruby-on-rails ruby runtime rspec-rails
2个回答
0
投票

我想你打算这样做:

resources :templates do
  resources :template_items
end

假设没有你没有链接的'do'或'begin',那么你有太多的'end',这意味着文件将无法加载。


0
投票

当我尝试使用rails 5.2.0 to 5.2.2.1命令从bundle update rails升级时遇到了同样的问题,它还更新了许多其他宝石,其中一个是factory_bot从4.10.0到5.0.2所以解决办法是通过指定factory_bot的版本号降级到4.10.0到gem "factory_bot_rails", "~> 4.10.0"

© www.soinside.com 2019 - 2024. All rights reserved.