禁用ActiveRecord for Rails 4

亚历克斯

我想在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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章