2013-05-01 1 views
3

컴퓨팅 용어로 엔진은 입력을 기반으로 지속적으로 출력을 생성하는 것입니다. 그러나 Ruby에서이 용어는 약간 느슨해 보입니다. Refinery CMS를 만든 사람들은 시스템의 기능인 '엔진'을 확장하는 보석을 사용합니다.누군가가 Ruby in Rails에서 엔진을 정의 할 수 있습니까?

기본적으로 내가 알고 싶은 것은, Spree, Ruby로 작성된 오픈 소스 전자 상거래 CMS, 엔진입니까? 그것을 '유령 엔진'이라고 부르는 것이 맞을까요? http://guides.rubyonrails.org/engines.html

1 엔진은 무엇에서

답변

3

레일스가 정의한 것처럼 엔진은 애플리케이션 내에서 애플리케이션과 매우 흡사합니다. 말장난은 이것들 중 하나이며, 다른 것들도 있습니다. 각 엔진에는 자신 만의 app 폴더가 있으며 최상위 수준 응용 프로그램에서 볼 수있는 것과 같은 종류의 구조입니다.

응용 프로그램에 하나 이상의 엔진을 결합한 다음 맨 위에 자체 기능을 추가 할 수 있습니다. 이것이 Spree와 같은 시스템을 통제가 제한적인 고정 Puropose Rails 앱보다 훨씬 유연하게 만드는 이유입니다.

레일을 확장 한 것은 자체 포함 된 응용 프로그램 인 경우 진정한 엔진입니다. 많은 보석은 그보다 훨씬 더 구체적인 기능을 추가하므로 구문에 따라 "플러그인"또는 "모듈"이라고하는 것이 좋습니다.

실제로 엔진을 쉽게 만들 수 있으며 여러 다른 응용 프로그램에서 코드를 분리하고 다시 사용할 때 유용 할 수 있습니다.

+0

간결하고 유익한 정보! 중요한 RoR 개념뿐 아니라 전문 용어도 정리해 주셔서 감사합니다. – Starkers

2

야단법석이 실제로 ... 많은 엔진의

익힌 버전 구성되어 엔진이 몇 가지 보너스로, 일반적인 레일 응용 프로그램의 내장 (많은)로 장비를 달게 와서 : 상자 밖으로의 네임, 발전기 마이그레이션을 쉽게 복사하고 다른 레일 어플리케이션에 마운트 할 수 있습니다.

관련 문제