2011-10-24 1 views
3

우수한 Rails 응용 프로그램에서 우수한 상속 된 리소스 젬을 사용합니다. 그러나 발표자를 사용하고 싶을 때는 손으로 컨트롤러를 쓰는 것에 중점을 둡니다.상속 된 리소스가있는 발표자 사용

상속 된 리소스를 Draper 또는 delegate_presenter와 결합하는 좋은 방법이 있습니까?

답변

1

저자의 delegate_presenter 여기에 있습니다.

delegate_presenterinherited_resources으로 정상적으로 작동합니다. 이제는 프로젝트에서 실제로 inherited_resources를 사용하지 않았습니다. 따라서 많은 내용은 readme에서 온 것입니다.

어쨌든보기에서 표현 자 개체를 만들려면 항상 todo_present = Present(@todo)을 사용해야합니다.

presenter = Present(resource)

을 : 당신은 당신의 템플릿에이 작업을 수행 할 수 있습니다, 당신은 공통 소스에서 템플릿을 발생하는 경우

는 (같은 LegalTodo 어떤 늪지 - 알 수없는 이유로, Todo의 서브 클래스), 당신은 템플릿을 공유

resource - inherited_resources의 추가 정보에 따른 적어도 - 당신은 볼 것이다 (그래서, @todo, 또는 @legal_todo)

Present()보고 현재 자원에 대한 도우미 클래스를 생성하고 적절한 표현 자 객체를 인스턴스화합니다. TodoPresenterresourceTodo 개체 인 경우 resourceLegalTodo 개체 인 경우 LegalTodoPresenter 개체를 반환합니다. ("는 LegalTodo의 이름은 설명 + 증착 수를 할 수 있지만, Todo 항목의 이름은 단지 설명을해야한다")

그런 다음, 그 발표자는 다형성입니다 가정, 발표자는 거리 차이는 추상적하게됩니다 -도 당신이 의견을 공유한다면!