0

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

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

Application 控制器的第 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/**/"]

4

1 回答 1

0

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

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

Rails 3库直到需要才加载

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

于 2013-10-06T01:02:33.717 回答