由于ruby模块,Heroku没有运行迁移

时间:2013-10-05 22:44:16

标签: ruby-on-rails ruby heroku ruby-on-rails-3.2

我无法在Heroku中运行迁移,我认为这是由于我在lib目录中创建的模块。执行命令heroku run rake db:migrate后,我收到以下错误:

uninitialized constant ApplicationController::PgTools /app/app/controllers/application_controller.rb:4:in <class:ApplicationController>

应用程序控制器的第4行是include PgTools,可以访问我创建的PgTools模块中的方法。

尽管heroku迁移失败,但我能够在本地开发环境中运行rake db:migrate(请注意两个环境都使用postgres数据库)。

我的application.rb文件中还有以下两行

config.autoload_paths += %W(#{config.root}/lib)

config.autoload_paths += Dir["#{config.root}/lib/**/"]

1 个答案:

答案 0 :(得分:0)

我通过将Pg_Tools.rb重命名为pgtools.rb并将所有include PgTools语句修改为include Pgtools来解决错误

我在故障排除过程中使用的链接如下所示

Rails 3 library not loading until require

http://www.williambharding.com/blog/technology/rails-3-autoload-modules-and-classes-in-production/