私はさまざまな Web ページを持っていますが、ほとんどのページは 6 つまたは 7 つのページ カテゴリのうちの 1 つに分類されます。これらの Web ページのカテゴリごとに、背景色や画像が異なるなど、ルック アンド フィールが少し異なります。私は次のものを持っていますviews/layout/application.html.erb
:
<header class="sub<% if content_for?(:page_type) %> <%= yield(:page_type) %><% end %>">
そして、すべての単一のビューで、私は持っています:
<% content_for :page_type, 'information' %>
しかし、すべてのウェブページに対してそれを行うのは本当に面倒で、物事を変更したいときは、これらをいじる必要があります (私はたくさんのページを持っています)。そのため、代わりに変数を使用することを考えています:
<header class="sub<%= @page_type ? ' ' + @page_type : '' %>">
ビューの場合:
<% @page_type = 'information' %>
利点はbefore_filter :set_page_type
、コントローラーで a を実行し、それが制御するすべてのビューに対してページ タイプを 1 回設定できることです (大きな助けになります)。
おそらく、私にとって最善の方法は、URL の最初のフォルダーを Web ページのカテゴリとして使用することです。URL を再構成する必要がありますが、とにかくそうするのが理にかなっています。そのままにしておく必要があるトップレベルのページがいくつかあります。
これはかなり一般的な状況でなければなりません。ほとんどのページを分類し、その分類をレイアウトで使用する最良の方法は何ですか?