저는 작업중인 응용 프로그램의 레일 엔진을 만들고 있습니다.레일 마운트 가능한 엔진 기본 응용 프로그램의 db 스키마 사용
기본적으로 응용 프로그램은 두 부분으로 나뉩니다
- 개인
- 공공
개인 사이트가 기본 응용 프로그램입니다 모든 관리 기능의 삶과 공개 사이트 (엔진) 비공개 앱에서 모델에 액세스 할 수 있어야합니다.
그것은 내게 반대로 들리지만 이것은 사양에서 요구하는 것입니다.
난 당신과 같은 주요 응용 프로그램에 엔진 모델에 액세스 할 일반적으로 알고EngineName :: 모델
가 어떻게 엔진 내부의 주요 응용 프로그램에 액세스 할 것인가?
예 :
개인 사용자가 foo.bar/videos/new 새로운 비디오를 만들 갈 것입니다.
공개 사용자는 foo.bar/public/videos로 이동하여 동일한 동영상에 액세스 할 수 있습니다.
기능을 개인 섹션과 공개 섹션으로 분리하는 것이 좋습니다.하지만이 상황에서 왜 엔진 패턴을 사용해야합니까? – declan
좋은 질문 인 것 같지만 불필요한 장애물을 뛰어 넘는 것처럼 보입니다. "spec"을 만족시키는 것 외에도 이렇게하는 것으로 정말로 무엇을 성취하려고합니까? 프로그래머가 사양을 작성 했습니까? –
일반적으로 다른 곳에서 다시 사용하기 때문에 기능을 엔진에 패키지화합니다. 엔진에 호스트 응용 프로그램의 코드 호출이 포함되어 있으면 재사용 할 수 없습니다. 이 경우 엔진으로 작성하려고하면 어떤 이점이 있는지 궁금합니다. 공개 및 비공개 사이에 명확한 선을 그려보고 싶다면 네임 스페이스 사용이 더 쉬울 수도 있습니다 (http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing) – declan