복붙노트

[RUBY-ON-RAILS] 레일에 대한 해제 액티브 4

RUBY-ON-RAILS

레일에 대한 해제 액티브 4

나는 레일 4. 한 다음에 설정 / 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

I까지의 오류가

/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)

해결법

  1. ==============================

    1.새 응용 프로그램을 작성하는 경우, 액티브을 건너 뛸 -O를 사용할 수 있습니다 :

    새 응용 프로그램을 작성하는 경우, 액티브을 건너 뛸 -O를 사용할 수 있습니다 :

    rails new my_app -O
    

    기존 응용 프로그램의 경우 :

    당신의 Gemfile (등 mysql2, sqlite3를) 1. 제거 데이터베이스 어댑터 보석

    당신의 설정 / application.rb 변경 (2)

    '필요 레일 / 모든 줄을 제거하고, 예를 들어, 사용하고자하는 프레임 워크가 필요합니다 :

    require "action_controller/railtie"
    require "action_mailer/railtie"
    require "sprockets/railtie"
    require "rails/test_unit/railtie"
    

    설정 / application.rb에서 진정한 제거 config.active_record.raise_in_transactional_callbacks =

    당신의 설정을 삭제합니다 / database.yml을 파일, DB / schema.rb 및 마이그레이션 (있는 경우)

    테스트 / test_helper.rb 4. 삭제 마이그레이션 확인

    당신의 설정 / 환경 파일에서 모든 액티브 구성을 삭제 5. (이것은 당신의 오류를 일으키는 것입니다)

    이것은 당신이 빈 레일 앱 할 필요합니다. 기존 코드로 인한 문제가 발생하면, 스택 추적 당신이 변화를 필요로하는 무슨에 당신에게 충분한 정보를 제공해야합니다. 당신은 예를 들어 귀하의 이니셜 일부 액티브 구성을 가질 수 있습니다.

  2. ==============================

    2.안녕하세요이 기본이 새로운 NEW_APP 레일 무엇 -O 부여합니다

    안녕하세요이 기본이 새로운 NEW_APP 레일 무엇 -O 부여합니다

    require "rails"
    # Pick the frameworks you want: 
    require "active_model/railtie" 
    require "active_job/railtie"
    # require "active_record/railtie" 
    require "action_controller/railtie" 
    require "action_mailer/railtie" 
    require "action_view/railtie" 
    require "sprockets/railtie" 
    require "rails/test_unit/railtie"
    

    당신의 설정 / application.rb 내부

    또한, 그것은 database.yml을하고 NO dB / 마이그레이션 / * 및 schema.rb없이 온다

  3. ==============================

    3.레일 5 활동 기록을 비활성화 구글을 검색 할 때이 여전히 첫 번째 히트이기 때문에,이 여기에 추가 할 것입니다 :

    레일 5 활동 기록을 비활성화 구글을 검색 할 때이 여전히 첫 번째 히트이기 때문에,이 여기에 추가 할 것입니다 :

    레일 5

    @mechanicalfish 대답의 모든 단계를 수행뿐만 아니라 줄을 제거

    Rails.application.config.active_record.belongs_to_required_by_default = true
    

    ...에서

    config/initializers/new_framework_defaults.rb
    
  4. ==============================

    4.레일-API 새로운 my_api을 수행 할 때 --skip-활성 기록 플래그를 사용할 때 레일-API 보석을 사용하신다면 유사한 오류가 발생할 수 있습니다. (보석의 새로운 수정 버전이 출시 될 때까지) 현재 수정이 커밋이 당신의 레일-API 보석을 편집하는 것입니다. 번들 개방을 사용하고 새로운 하나를 수정하여 이전 Gemfile을 교체합니다. 다시 실행하면 모든 설정해야합니다.

    레일-API 새로운 my_api을 수행 할 때 --skip-활성 기록 플래그를 사용할 때 레일-API 보석을 사용하신다면 유사한 오류가 발생할 수 있습니다. (보석의 새로운 수정 버전이 출시 될 때까지) 현재 수정이 커밋이 당신의 레일-API 보석을 편집하는 것입니다. 번들 개방을 사용하고 새로운 하나를 수정하여 이전 Gemfile을 교체합니다. 다시 실행하면 모든 설정해야합니다.

  5. ==============================

    5.레일 4.2 비활성화 액티브의 경우는 설정 / 초기화 / middleware.rb 만들 수 있습니다

    레일 4.2 비활성화 액티브의 경우는 설정 / 초기화 / middleware.rb 만들 수 있습니다

    Rails.application.middleware.tap do |middleware|
      middleware.delete ActiveRecord::Migration::CheckPending
      middleware.delete ActiveRecord::ConnectionAdapters::ConnectionManagement
      middleware.delete ActiveRecord::QueryCache
    end
    

    터미널 레이크 미들웨어 참조

  6. ==============================

    6.새 응용 프로그램을 생성하는 경우

    새 응용 프로그램을 생성하는 경우

    데이터베이스없이 응용 프로그램을 생성하는 옵션을 활성 레코드를 --skip 사용

    새을 myApp는 레일 --skip-액티브 기록

  7. ==============================

    7.스펙 / 더미 앱 레일 플러그인 (또는 보석)의 경우

    스펙 / 더미 앱 레일 플러그인 (또는 보석)의 경우

    당신의 레일 응용 프로그램 사양 / 더미의 삶과 당신은 플러그인 루트 디렉토리에서 서버를 시작합니다. 당신은 여전히 ​​다음과 같은 오류가 있습니다 :

    Cannot load `Rails.application.database_configuration`: Could not load database configuration. No such file - ["config/database.yml"] 
    

    이를 방지하기 위해 삭제 레일을 필요로 / 파일 함 / 레일 내부의 모든 당신이 예를 들어, 사용하고자하는 프레임 워크가 필요합니다 :

    # Pick the frameworks you want: 
    require "active_model/railtie" 
    require "active_job/railtie"
    # require "active_record/railtie" 
    require "action_cable/engine"
    require "action_controller/railtie" 
    require "action_mailer/railtie" 
    require "action_view/railtie" 
    require "sprockets/railtie" 
    require "rails/test_unit/railtie"
    
  8. ==============================

    8.루비 온 레일 버전의 5.1.x의 경우

    루비 온 레일 버전의 5.1.x의 경우

    require "rails"
    # Pick the frameworks you want:
    require "active_model/railtie"
    require "active_job/railtie"
    # require "active_record/railtie"
    require "action_controller/railtie"
    require "action_mailer/railtie"
    require "action_view/railtie"
    require "action_cable/engine"
    require "sprockets/railtie"
    require "rails/test_unit/railtie"
    
  9. from https://stackoverflow.com/questions/19078044/disable-activerecord-for-rails-4 by cc-by-sa and MIT license