2013-04-22 77 views
3

我正在将rails应用程序从3.0.20升级到3.2.13。看起来,当我的测试环境将cache_classes设置为true时,模型会在初始化器之前加载。这是由于我的初始化程序对某些模型有一些设置代码导致一些错误。另外奇怪的是,在cache_classes = true的生产环境中,我没有遇到同样的问题。任何人都可以在这里指出我正确的方向。Rails 3.2模型在测试环境中初始化之前加载

+0

你能显示你的production/test.rb env文件吗? – Lichtamberg 2013-07-01 16:28:30

+0

和你的spec_helper.rb – BM5k 2013-07-01 16:44:21

回答

5

尝试添加到您的config/environments/test.rb文件。类缓存之前,它会加载您intializers:

# Load initializers before models get cached 
    config.before_eager_load do 
    Dir[File.expand_path "../../initializers/*", __FILE__].each { |file| require file } 
    end 

或者,您也可以检查,以确保你没有被加载模型被称为初始化前的瑰宝。

+1

那么,将工作。 – 2013-07-01 20:41:27

+1

啊,它最终成为了active_reload宝石。 – 2013-07-03 15:27:12

相关问题