복붙노트

[RUBY-ON-RAILS] 레일에 액티브 제거 3

RUBY-ON-RAILS

레일에 액티브 제거 3

이제 레일 3 베타 밖으로 것을, 나는 레일 3 베타 난 그냥 작업을 시작했습니다 응용 프로그램을 다시 작성에서 봐 줄 알았는데, 모두가에 대한 느낌을 얻을 헤드 스타트의 비트를 얻을 수 있습니다. 응용 프로그램은 그 모델의 모든 MongoDB를하고 MongoMapper를 사용하기 때문에 액티브 필요가 없습니다. 이전 버전에서는, 나는 다음과 같은 방법으로 액티브을 하역하고있다 :

config.frameworks -= [ :active_record ]    # inside environment.rb

최신 버전이 작동하지 않습니다 - 그냥 오류가 발생합니다 :

/Library/Ruby/Gems/1.8/gems/railties-3.0.0.beta/lib/rails/configuration.rb:126:in
  `frameworks': config.frameworks in no longer supported. See the generated 
  config/boot.rb for steps on how to limit the frameworks that will be loaded 
  (RuntimeError)
 from *snip*

이 제안 물론, 나는 boot.rb 보았다,하지만 지금까지 내가 볼 수 있듯이, 단서 내가 하역 AR 대해 이동하는 방법에 관해서는 여기 없다. 뿐만 아니라,이 바보 내가 원하지 않는 로딩 뭔가하는 것입니다 때문에이 작업을 수행 할 필요가있는 이유는,하지만 난 컨트롤러에 대한 발전기를 실행하려고해도 그것은 DB 연결을 할 수 없다는 점에 대해 불평한다. 내가 database.yml을 닦아 및 MongoDB를 연결 자세한 내용은 database.yml을 사용에 대한이 요점을 사용하기 위해 MongoDB를위한 연결 정보로 교체하기 때문이다. 그냥 어쨌든 컨트롤러를 생성하기 위해 모두에서 DB 연결을 시작 할 수 있어야 확실하지 왜 ....

사람이 일을 3 가지 방법은 올바른 레일을 알고 있습니까?

해결법

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

    1.그래서 실제로 일 경우 알려 주시기 소스를 읽는이로 갈거야. :)

    그래서 실제로 일 경우 알려 주시기 소스를 읽는이로 갈거야. :)

    레일은 이제 응용 프로그램 템플릿을 생성은 액티브을 건너 뛸 알려주는 옵션 -O를 가지고 명령.

    당신이 레일을 다시 실행 기분하지 않는 경우, 당신은 기존의 응용 프로그램에 다음을 확인해야합니다 :

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

    2.4 레일

    4 레일

    나는 레일 4를 사용하지 않도록 설정하는 방법을 찾고 이것이 당신이 (RC1에서 테스트) 레일 4에서 할 수있는 방법입니다 그래서 단지 더 이상 레일 (4)에서 작동이 답을 발견했다.

    새 프로젝트에서

    rails new YourProject --skip-active-record
    

    기존 프로젝트에서

    나는이 레일 4 액티브을 사용하지 않도록 설정하는 방법을 찾고 다른 사람을 도움이되기를 바랍니다.

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

    3.새로운 레일 응용 프로그램의 경우는 --skip-활성 기록 매개 변수를 지정하여 활동 기록을 제외 할 수 있습니다. 예 :

    새로운 레일 응용 프로그램의 경우는 --skip-활성 기록 매개 변수를 지정하여 활동 기록을 제외 할 수 있습니다. 예 :

    rails new appname --skip-active-record
    
  4. ==============================

    4.당신은 레일 3.2을 사용하여 새 프로젝트를 생성 한 경우, 당신은 또한 주석해야합니다 :

    당신은 레일 3.2을 사용하여 새 프로젝트를 생성 한 경우, 당신은 또한 주석해야합니다 :

    config.active_record.mass_assignment_sanitizer = :strict
    

    config.active_record.auto_explain_threshold_in_seconds = 0.5
    

    당신의 development.rb 파일입니다.

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

    5.위의 모든 사실이다. 나는 레일 3.1에서해야 할 일을했을 한 가지 더 주석입니다

    위의 모든 사실이다. 나는 레일 3.1에서해야 할 일을했을 한 가지 더 주석입니다

    config.active_record.identity_map = true
    

    에서 설정 / application.rb.

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

    6.당신이 RSpec에를 실행하는 경우, 당신은 또한 (spec_helper에서) 제거해야합니다 :

    당신이 RSpec에를 실행하는 경우, 당신은 또한 (spec_helper에서) 제거해야합니다 :

      # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
      config.fixture_path = "#{::Rails.root}/spec/fixtures"
    

    및 제거

      # If you're not using ActiveRecord, or you'd prefer not to run each of your
      # examples within a transaction, remove the following line or assign false
      # instead of true.
      config.use_transactional_fixtures = true
    
  7. ==============================

    7.또한 주석

    또한 주석

    # config/application.rb    
    config.active_record.whitelist_attributes = true
    

    (3.2.13 레일 언급)

  8. from https://stackoverflow.com/questions/2212709/remove-activerecord-in-rails-3 by cc-by-sa and MIT license