I want to disable ActiveRecord in Rails 4. I did the following in config/application.rb
require File.expand_path('../boot', __FILE__)
# require 'rails/all' -- commented
require "action_controller/railtie"
require "action_mailer/railtie"
#require "active_resource/railtie" no need
#require "rails/test_unit/railtie" no need
#require "sprockets/railtie" no need
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(:default, Rails.env)
module MyApp
class Application < Rails::Application
config.app_middleware.delete "ActiveRecord::ConnectionAdapters::ConnectionManagement"
end
end
By I have an error of
/home/alex/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/railtie/configuration.rb:95:in
method_missing: undefined method active_record for #<Rails::Application::Configuration:0x00000002005c38> (NoMethodError)
For those using the rails-api gem you may encounter a similar error when using the
--skip-active-record
flag when doingrails-api new my_api
. The current fix (until a new corrected version of the gem is released) is to edit your rails-api gem to have this commit. Usebundle open
and replace the oldGemfile
with the new corrected one. Rerun and you should be all set.For Rails Plugins (or gems) with a
spec/dummy
appWhen your rails app lives in
spec/dummy
and you start your server from the plugin-root directory. You might still getting following error:To avoid this, remove
require rails/all
inside the filebin/rails
and require frameworks you want to use, for example: