복붙노트

[RUBY-ON-RAILS] 루비 온 레일즈에서 코드를 넣어해야 String 클래스를 확장하는?

RUBY-ON-RAILS

루비 온 레일즈에서 코드를 넣어해야 String 클래스를 확장하는?

루비 온 레일즈의 경우에, 나는라는 메소드를 추가해야

class String
  def capitalize_first
    # ...
  end
end

하고 궁금해 어디 파일에 가야하나요? (이 디렉토리와 파일 이름, 그리고 필요한 초기화 코드?)이 레일 3.0.6 프로젝트입니다.

해결법

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

    1.난 항상 내 LIB의 디렉토리에 core_ext 디렉토리를 추가합니다.

    난 항상 내 LIB의 디렉토리에 core_ext 디렉토리를 추가합니다.

    사용자 정의 확장로드에 대한 초기화를 만듭니다 (예 : 설정 / 초기화 / core_exts.rb). 그리고 그 안에 다음과 같은 줄을 추가합니다 :

    Dir[File.join(Rails.root, "lib", "core_ext", "*.rb")].each {|l| require l }
    

    및 확장 등이있다 :

    lib 디렉토리 / core_ext / string.rb

    class String
      def capitalize_first
        # ...
      end
    end
    
  2. ==============================

    2.당신은 그것에 설정 / 초기화 / string.rb 할 수

    당신은 그것에 설정 / 초기화 / string.rb 할 수

    class String
      def capitalize_first
        # ...
      end
    end
    

    당신이 필요로하는 모든 (응용 프로그램 재시작 외에)이어야한다.

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

    3.레일 3.1의 지침 길을 가야하는 것입니다 :

    레일 3.1의 지침 길을 가야하는 것입니다 :

    http://guides.rubyonrails.org/plugins.html#extending-core-classes

    기본 규칙을 따른다면 당신은 초기화 설정으로 엉망이 필요하지 않습니다.

  4. from https://stackoverflow.com/questions/5654517/in-ruby-on-rails-to-extend-the-string-class-where-should-the-code-be-put-in by cc-by-sa and MIT license