質問

Railsアプリのすべてのビューにヘッダーとフッターを追加する標準的な方法は何ですか?

役に立ちましたか?

解決

このファイルが見つかった場合、使用されます。

App/Views/layouts/application.html.erb

<!doctype html>
<html>
  <head>
    <!-- stuff -->
  </head>
  <body>
    <!-- this is where content will be rendered -->
    <%= yield %>
  </body>
</html>

それ以外の場合は、別のものを呼び出すことができます。

# app/controllers/birds_controller.rb
class BirdsController < ApplicationController

  layout :birds   # looks for app/views/layouts/birds.html.erb

  # ...
end

他のヒント

ヘッダーとフッターをで見つけることができるアプリケーションレイアウトに入れます App/Views/layouts/application.html.erb。最初にこのファイルを作成する必要がある場合があります。

すべてのページに「ボイラープレート」コードを追加するには、レイアウトファイルを使用します。通常、アプリ/ビュー/レイアウト/にあります。

他のRailsビューのようにページを作成します。一般的に、配置することをお勧めします <html>, body, 、繰り返しを避けるために、レイアウトの内部にタグを付けます。

個々のビューからコンテンツを表示したい場所で、 <% yield %> 鬼ごっこ。 Rubyのブロック構文とRailsがレイアウトを実装する方法のため、このレイアウトを指定するビューがすべてのレイアウトを「継承」し、ページ固有のコンテンツのみを挿入するために、任意のビューが可能になります。

グローバルにレイアウトを使用するには、ファイルapplication.html.erbに名前を付けるか、レンダリング:レイアウトオプションを指定します。

アプリのレイアウトファイルがあります app/views/layouts/.

x1a4が言ったように、共通のレイアウト 'app/views/layouts/.html.erb'を作成します。そしてその中であなたはあなたのヘッダーとフッターを作成することができます

必要に応じて、それを2つの部分として作成し、レイアウトファイル内で呼び出すことができます。しかし、レイアウトが1つしかない場合は、これは必要ないかもしれません

部分的なレイアウトタイプがある場合(通常のユーザー、管理者などなど)、部分的なヘッダーとフッターを持つことは理にかなっています。

クラス宣言の直後にコントローラーで

class userstroller <アプリケーションコントローラーレイアウト 'レイアウト名'エンド

乾杯、サミーラ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top