2012-05-10 4 views
1

리소스를 생성하려고하는데 Active_record에 대한 모든 참조를 제거하고 databse.yml 파일을 제거했습니다.Rails 3.2 데이터베이스가없는 생성자

레일 서버는 확인을 시작하지만 내가 모델 생성하려고하면 나는 다음과 같은 오류 얻을

rails g resource contact 

:

No value provided for required options '--orm'

을 리소스를 생성 할 때 어떤 데이터베이스를 지정하지 않으려면 방법이 있나요 ?

답변

0

쉬운 방법은 없습니다. 당신이 자원 발전기에 대한 source code 보면, 당신은 ORM에 관한이 부분을 보자 : 그래서 그것은 명시 적으로 ORM없이이 명령을 실행하려는 모든 시도를 거부

# Loads the ORM::Generators::ActiveModel class. This class is responsible 
    # to tell scaffold entities how to generate an specific method for the 
    # ORM. Check Rails::Generators::ActiveModel for more information. 
    def orm_class 
     @orm_class ||= begin 
     # Raise an error if the class_option :orm was not defined. 
     unless self.class.class_options[:orm] 
      raise "You need to have :orm as class option to invoke orm_class and orm_instance" 
     end 

     begin 
      "#{options[:orm].to_s.camelize}::Generators::ActiveModel".constantize 
     rescue NameError 
      Rails::Generators::ActiveModel 
     end 
     end 
    end 

, 그리고 당신이 ORM을 지정하면, 그것은 ORM::Generators::ActiveModel을 찾고 있습니다. 그리고 맨 위에있는 주석에서 자세한 정보를 찾을 위치를 지정합니다 (Rails::Generators::ActiveModel). 맨 위에있는 주석은 ORM 사양을 작성하기 위해 그것을 확장하는 방법을 설명합니다.

기본적으로 레일에 기본으로 제공되는 것은 the ActiveRecord generator입니다.

공통 라이브러리 번호 생성기를 포함 rails3-generators이라는 보석이 있습니다,하지만 당신은 할 수 see 그 ORM들을 위해 만 data_mapper, mongo_mapper, mongoidactive_model에 대한 기능을 추가합니다.

내가 아는 한, "데이터베이스 없음"을 위해 사전 빌드 된 ORM 생성기가 없습니다. 원하신다면 Rails::Generators::ActiveModel의 상단에있는 지침에 따라 자신을 쓸 수도 있습니다 (그리고 참고 자료로 rails3-generators 보석 소스를 사용하십시오).

하지만 너무 많은 노력이 필요하다면 기본 내장 ActiveRecord 생성기를 사용하여 생성 한 다음 수동으로 수정하거나 ORM과 관련된 모든 내용을 제거하는 것이 좋습니다.