18

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

4

5 に答える 5

26

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

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
于 2010-05-25T06:12:27.840 に答える
9

app/views/layouts/application.html.erbにあるアプリケーション レイアウトにヘッダーとフッターを配置します。最初にこのファイルを作成する必要がある場合があります。

于 2010-05-25T01:28:12.460 に答える
3

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

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

個々のビューのコンテンツを表示する場所に、<% yield %>タグを挿入します。Ruby のブロック構文と Rails がレイアウトを実装する方法により、これにより、コントローラーがこのレイアウトを指定するすべてのビューが、すべてのレイアウトを「継承」し、ページ固有のコンテンツのみを挿入できるようになります。

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

于 2010-05-25T01:47:30.340 に答える
1

アプリのレイアウト ファイルは にありapp/views/layouts/ます。

于 2010-05-25T01:31:45.543 に答える
1

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

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

ヘッダーとフッターをパーシャルに含めることは、レイアウト タイプが 2 ~ 3 ある場合 (通常のユーザー、管理者などの場合など) に意味があります。

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

class UsersController < ApplicationController layout 'レイアウト名' end

乾杯、sameera

于 2010-05-25T05:22:57.427 に答える