降级Rails版本后,项目停止工作

时间:2017-06-21 06:49:29

标签: ruby-on-rails ruby

最初我使用的是rails 5.1.1,但是当我将它降级到4.2.7时,它开始给我以下错误:

`method_missing': undefined method `load_defaults'

每当我尝试运行" rails s"它显示了终端中的上述错误,它只是一个新项目,我刚刚使用" rails new"安装了一个新项目,然后我将gem文件中的rails版本更改为

gem 'rails', '~> 4.2.7'

之后,当我尝试击中" rails s"它开始给我这个错误。

任何想法为什么会发生这种情况?

1 个答案:

答案 0 :(得分:4)

使用5.1.1版生成的Rails应用程序包括以下行:

# in config/application.rb:12
config.load_defaults 5.1

load_defaults是Rails 5中引入的一种方法,在Rails 4.2.x中不存在

那就是说,你不能只是降级Rails版本(顺便说一句,你通常不能只升级)。您需要将应用程序更改为其他Rails版本所期望的结构。 RailsDiff是查看使用不同版本的Rails生成的应用程序之间差异的绝佳资源。

您有两种选择:

  1. 采用版本之间的更改或
  2. 使用所需版本重新生成新应用程序。