2010-06-11 3 views
5

필자는 Rails 2.3 애플리케이션을 플러그인이나 엔진으로 추출하려고합니다. 이 응용 프로그램에는 사용자 인증과 ancestry plugin이 지원하는 기본 cms 기능이 있습니다.레일즈 애플리케이션을 플러그인 또는 엔진으로 추출하기

나는 플러그인/엔진으로 응용 프로그램의 논리를 추출하여 필요한 경우 다른 "스킨"또는 "테마"와 함께 향후 프로젝트에이 코드를 사용할 수 있습니다.

나는 플러그인과 엔진 개념의 차이를 실제로 이해하고 있다는 것을 완전히 확신 할 수 없으므로 좋은 첫 번째 포인트가 될 것이다.

가장 좋은 방법은 무엇인가, 좋은 출발점, 링크, 설명, 내가 따라야 할 예가 있습니까? 또한, 고려해야 할 R3의 릴리스와 함께, 내가 플러그 인 등에 관해서 알고 있어야하는 것이있다.

나는 Ryan의 http://railscasts.com/episodes/149-rails-engines 을 보면서 시작 하겠지만 분명히 1 년이 넘은 것을 보게 될 것이다. 지금 당면한 과제 중 하나는이 주제에 대한 가장 최신의 관련 정보를 찾는 것입니다.

모든 도움과 감사의 말씀을 전합니다.

답변

4

사실, 응용 프로그램을 변환하는 것은 꽤 힘든 일입니다. 단지 플러그인 폴더를 만들고, 모든 yor model-views-controllers 폴더를 포함하는 내부에 app-folder를 넣으십시오.

직접 마이그레이션을 관리해야합니다. 또한 파일을 공용 폴더에 복사하도록 rake-tasks를 정의해야합니다. 나는 railscasts가 여전히 꽤 최신이라고 생각한다. 2.3 레일에서 더 쉬워진다.

행운을 빈다.

[편집 : 레일 3 용] 레일 3 엔진은 매우 깨끗하고 강력합니다. Jose Valim이 gist을 확인하십시오.

+0

Rails 2 엔진은 Rails 3 앱에서 작동합니까? 이 질문이 게시 된 이후에도 여전히 동일한 프로세스입니까, 아니면 변경 되었습니까? – deb

+0

레일 2 엔진은 여전히 ​​레일 3에서 작동합니다.하지만 레일 3 개 엔진은 훨씬 좋은 통합 성을 가지며 훨씬 더 많은 가능성이 있습니다. 따라서 레일 2 엔진을 사용할 수는 있지만 레일 3 엔진으로 변환하는 것이 좋습니다. 레일 2 엔진은 플러그인이고, 레일 3 플러그인은 보석 일 것입니다. 훨씬 더 깨끗합니다. – nathanvda

+0

@nathanvda : 죽은 링크 –

1

플러그인 작성은 앱 작성과는 완전히 다른 과정입니다. 이미 앱 코드가있는 경우 플러그인으로 간단하게 변환해야합니다.

앱에서 타사 플러그인을 사용하는 경우 상당히 복잡해질 수 있습니다.

3

레일즈 2와 레일즈 3에서 호환되지 않는 변경으로 인해 엔진을 레일즈 3에 맞추는 것이 더 나을 것입니다. 여기에 최신 정보가 있습니다 tutorial for Rails 3

"Crafting Rails applications"Rails 핵심 회원 인 Jose Valim이 저술 한 좋은 책이 있습니다. Int는 Rails 3 엔진 구조를 생성하는 그의 도구 EngineX을 사용하는 방법을 보여주기 때문에 레일스 3 프로젝트 용 엔진을보다 쉽게 ​​만들 수 있습니다. 그의 보석 인 devise도 레일 엔진으로 템플릿을 응용 프로그램 디렉토리에 복사하고 사용자 정의하려는 컨트롤러를 하위 클래스로 분류하여 쉽게 사용자 정의 할 수 있습니다.

관련 문제