2011-10-24 11 views
3

優れた継承リソースの宝石は私のRailsアプリケーションではかなり使用されていますが、プレゼンターを使用するときはいつでも、コントローラを手作業で書くことに戻ります。継承されたリソースを持つプレゼンターを使用する

継承されたリソースをDraperやdelegate_presenterのようなものと組み合わせるには、きれいなソリューションがありますか?

答えて

1

投稿者delegate_presenterここに。

delegate_presenterは、inherited_resourcesで正常に動作します。今私は実際にプロジェクトでは、inherited_resourcesを使用していないので、これは多くのreadmeからです。

とにかく私はいつもビュー内にプレゼンターオブジェクトを作成します:todo_present = Present(@todo)などです。

あなたは(のようなLegalTodoは、いくつかの湿原、不明な理由で、Todoのサブクラスである)共通のソースからのテンプレートを持っている、とあなたがテンプレートを共有している場合、あなたはテンプレートでこれを行うことができます:

presenter = Present(resource)

resource - 少なくともinherited_resourcesのreadmeによると - 現在のリソースのためのヘルパーは、あなたの(そう、@todo、または@legal_todo)を見ている

Present()を見ていきますオブジェクトのクラスを生成し、適切なプレゼンターオブジェクトをインスタンス化する。 TodoPresenterresourceTodoオブジェクトを返した場合、resourceLegalTodoオブジェクトを返す場合は、LegalTodoPresenterオブジェクトを返します。

そして、それらのプレゼンターは、多形性あると仮定すると、プレゼンターは、(「LegalTodoの名前が記述+寄託番号であってもよいが、Todo項目の名前だけで説明する必要があります」)離れ違いますが、抽象ようになる - にもあなたがビューを共有する場合!

関連する問題