복붙노트

[RUBY-ON-RAILS] 레일 원숭이 패치 3

RUBY-ON-RAILS

레일 원숭이 패치 3

레일 3 원숭이 패치에 선호하는 방법은 무엇입니까?

난 그냥 String 클래스에 메소드를 추가 할 수 있습니다. 나는 더 많은 파일을 배치 할 곳을 찾고 있어요.

해결법

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

    1.이니셜 라이저 디렉토리는 모두에게 그 작은 조각을 수집 할 수있는 좋은 장소입니다. 나는 핵심 확장자 비트 배 밖으로 이동하는 경향이 있기 때문에, 나는 폴더가 "확장"이라는을 좋아하고 거기에 그들 모두를 던져.

    이니셜 라이저 디렉토리는 모두에게 그 작은 조각을 수집 할 수있는 좋은 장소입니다. 나는 핵심 확장자 비트 배 밖으로 이동하는 경향이 있기 때문에, 나는 폴더가 "확장"이라는을 좋아하고 거기에 그들 모두를 던져.

    그래서, /config/initializers/string_extension.rb, 또는 /config/initializers/extensions/string.rb, 또는 유사한 무언가를하려고합니다. 어느 쪽이든, 당신은 단지 그 후에 그들에 대해 잊을 수 - 당신이 직접 할 필요가 없습니다 레일, 당신이 그들을 필요로 할 것이다.

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

    2.당신이 단지 수 클래스 고유의 것입니다 경우 당신이 그것을 필요로하는 클래스의 메소드를 재 - 정의합니다. 그렇지 않으면, 그것은 완전히 당신이 당신의 문자열 방법을 사용하려면 응용 프로그램의 어떤 부분에 따라 달라집니다. http://codepad.org/Cj1LHmQj : 클래스 개구부의 일례로서 재정의하는 방법 하지만, 당신은 아마 이미 당신이 할 수있는 알고 있었다.

    당신이 단지 수 클래스 고유의 것입니다 경우 당신이 그것을 필요로하는 클래스의 메소드를 재 - 정의합니다. 그렇지 않으면, 그것은 완전히 당신이 당신의 문자열 방법을 사용하려면 응용 프로그램의 어떤 부분에 따라 달라집니다. http://codepad.org/Cj1LHmQj : 클래스 개구부의 일례로서 재정의하는 방법 하지만, 당신은 아마 이미 당신이 할 수있는 알고 있었다.

  3. from https://stackoverflow.com/questions/3420680/monkey-patching-in-rails-3 by cc-by-sa and MIT license