2012-06-12 2 views
0

레일에서 물건을 사용자 정의하는 것이 얼마나 간단한 지 알고 놀라게됩니다. 필요한 기능을 제공하는 보석을 설치 한 다음 필요한 것을 사용자 정의하면됩니다.레일 - 오버 라이딩 기능

예를 들어 사용자 정의 코드로 템플릿과 루비 파일을 덮어 쓰는 것만으로 사용자 정의 할 수있는 Spree가 있습니다.

저는 누가이 일을 맡길 수 있는지 궁금합니다. Ruby입니까? 이 보석의 건축물입니까? 레일 아키텍처입니까?

+4

Q : "루비인가요?이 보석들의 아키텍처입니까? 레일 아키텍처입니까?" - A : 예 _ (모두 3 가지 방식으로 적용) _ – Flambino

+0

구체적으로 말하자면 사용자가보기를로드 할 수있는 사람은 누구입니까? 내부 구조인가 아니면 일부 레일 속성에 의존 하는가? –

답변

0

Ruby는 런타임에 평가 된 메타 프로그래밍을 허용합니다.

레일즈 응용 프로그램에서는 ruby ​​String과 같은 클래스를 initializers 폴더에 추가하고 새로운 선언적 메서드를 추가 할 수 있으며,이 선언 된 메서드는 String 클래스에 추가되고 String과 함께 사용할 수 있습니다.

http://www.vitarara.org/cms/ruby_metaprogamming_declaratively_adding_methods_to_a_class

0

더 그것은 일부 레일 및 부품 루비 읽어보십시오. Rails는 개발자와 플러그인이 수년 동안 확장 할 수 있도록 작성되었습니다 (그리고 더 많이 작성되었습니다). 루비를 통해 특정 기능을 후킹하고 오버 라이딩 할 수있게 해주는 기능은 다른 덜 동적 인 언어에서도 동일합니다.

관련 문제