我想在Rails 4中禁用ActiveRecord。在 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
由于我有一个错误
/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)
如果要创建新的应用程序,可以使用-O
跳过ActiveRecord的方法:
rails new my_app -O
对于现有应用程序:
1.从Gemfile中删除数据库适配器gem(mysql2,sqlite3等)
2.更改您的 config/application.rb
删除要使用的require 'rails/all
行并要求框架(在您版本中可用的框架中rails
,列表会有所不同,而不仅仅是复制),例如:
require "action_controller/railtie"
require "action_mailer/railtie"
require "sprockets/railtie"
require "rails/test_unit/railtie"
config.active_record.raise_in_transactional_callbacks = true
从中删除config/application.rb
3.删除config/database.yml
文件,db/schema.rb
然后进行迁移(如果有)
4.删除迁移签入 test/test_helper.rb
5.从config/environments
文件中删除任何ActiveRecord配置(这是导致您出错的原因)
这是您为空的Rails应用程序所要做的全部。如果遇到由现有代码引起的问题,堆栈跟踪应为您提供有关需要更改的足够信息。例如,您可能在初始化程序中有一些ActiveRecord配置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句