2012-01-28 5 views
2

この特定のケースでは、人々が共有部分をどのように構成するのかが不思議です。私のアプリケーションでは、リストのインデックスは、/ listingまたは/ users /:id/listingsのURLに表示されます。本質的には、すべてのリストまたは私のリストを見ている。共有部分をレールに編成する方法3

関連するビュー/app/views/listings/index.html.hamlと/app/views/users/listing/index.html.hamlの両方は、現在、レンダリングの大部分を行う部分を共有しています。タイトル、見出し、バックリンク、およびリスティングがない場合は何らかのテキストを除いて本当にすべてです。

この部分的な部分はどこにありますか。私はそれを主なリストリソースに近づけておくことと、もっと広く共有することに注意しています。

答えて

1

具体的にはlistingsをリストする部分の場合は、app/views/listings/に入れると投票します。より複雑で微妙なデータのコレクションを処理する場合は、共通のフォルダ(shared/common/、またはwidgets/と表示されていますが、これは単なる問題です)に移動する必要があります。

私は、特定のオブジェクトの表示を扱うためのものか、アプリ全体で繰り返される任意のビューブロックのブロックであるかどうかを判断することが重要だと思います。お使いのコントローラがApplicationControllerから継承し、あなたの部分が_listing.html.erb命名されていることを、あなたはapp/views/application/_listing.html.erbにファイルを置くことができ、そしてそれはrender "listing"でレンダリングすることを想定すると

0

この機能の詳細については、see the RailsCast episode on template inheritanceをご確認ください。

一般的に使用される部分文字列をapp/views/sharedに配置することも有効ですが、レンダリング時にフルパスを使用する必要があります。 render "shared/listing"

関連する問題