Rails app heroku推送未定义的方法`active_record'对于

时间:2014-11-14 14:15:44

标签: ruby-on-rails heroku deployment

尝试推送heroku时遇到错误

   NoMethodError: undefined method `active_record' for #<Rails::Application::Configuration:0x007f886b426850>

   /tmp/build_f717171e1d5b68477216bdaa906a9d9f/config/environments/production.rb:1:in `<top (required)>'
   /tmp/build_f717171e1d5b68477216bdaa906a9d9f/vendor/bundle/ruby/2.1.0/gems/activesupport-

我的application.rb文件

    require File.expand_path('../boot', __FILE__)

require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "rails/test_unit/railtie"
require "active_record/railtie"


Bundler.require(*Rails.groups)

module MyApp
  class Application < Rails::Application
    config.generators do |g|


  config.autoload_paths << Rails.root.join('lib')
  g.orm :mongo_mapper
end
  end
end

我正在使用mongomapper

rails 4.1.6

ruby​​ 2.1.4

如何修复它的任何建议?

完整错误记录here

3 个答案:

答案 0 :(得分:2)

您必须注释掉与active_record有关的所有配置设置。

如果您查看config/environments/development.rb,那么您会找到一句话:&/ p>

config.active_record.migration_error = :page_load

如果有待处理的迁移,此设置会在开发中用于引发异常,但由于您不再需要active_record,因此此设置没有意义。

同样,在config/environments/production.rb中,还有一行:

config.active_record.dump_schema_after_migration = false

注释掉这些行以及与active_record有关的所有其他配置设置将解决您遇到的问题。

答案 1 :(得分:1)

我通过评论

修复了它
config.active_record.dump_schema_after_migration = false

in production.rb

答案 2 :(得分:0)

删除此行:

require "active_record/railtie"

Mongo不使用ActiveRecord,因此您需要一个不可用的库。