0

私の現在の Rails プロジェクトでは、ホームページに、ページの他のビューとは異なるヘッダーが必要です。唯一の違いは、それに適用されるスタイルです (大きなロゴ、大きな検索バー...)。機能する解決策がありますが、少し「汚い」と感じます。特定のページをスタイリングするよりエレガントな方法があるかどうかを知りたいです。

これまでのところ、アプリケーションのレイアウトでこれを行っています。

body class="#{controller_name} #{action_name}"

だから私は mi css でこれを行うことができます:

#headerWrapper {
  font-size: 1.5em;
  ...
}
...
.catalog.index {
  #headerWrapper {
    font-size: 2em;
      ...
  }
}

しかし、ここでベース スタイルを変更すると、インデックス ページのレイアウトが影響を受ける可能性があり、行った変更を「元に戻す」必要があります (つまり、フォント サイズを変更した場合は、それに応じて調整する必要があります)。 .catalog.index 部分)。

この問題を処理する最もエレガントな方法についての考えは、非常に高く評価されます。

ありがとう。

4

1 に答える 1

0

必要な特定のルック アンド フィール css クラスを参照するホームページ用の 2 番目のレイアウト ページを作成し、コントローラーと特定のアクションにその新しいレイアウトをレンダリングするように指示するだけです。

class PostsController < ApplicationController

  layout 'signin', :only => [:show]

  ......

end

詳細はこちら: http://guides.rubyonrails.org/layouts_and_rendering.html (私の提案に固有のビットは 2.2.12.1 以降のものです)

于 2013-10-03T11:12:23.747 に答える