2009-08-29 3 views
6

からレイアウトにコンテンツを追加する私はアプリケーションのレイアウトを持ち、その中で私が生じると仮定次のようにヘッド含量:は、部分

<head> 
    <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> 
    <title></title> 
    <%= stylesheet_link_tag 'scaffold' %> 
    <%= yield(:head) %> 
</head> 

私はレンダリングするために部分的呼び出し、同じアプリケーションのレイアウトに仮定メインメニュー。

<body> 

    <p style="color: green"><%= flash[:notice] %></p> 

    <!-- Main Menu --> 
    <%= render :partial => 'menu/menu_main' %> 
</body> 

にコンテンツを追加して、部分的に私_menu_main.erbの中から任意の方法、あります:私のアプリケーションのレイアウト(一部のCSSを追加すると言う)のヘッド部には?

答えて

13

content_forタグを使用する必要があります。

<% content_for :head do -%> 
    *your code here* 
<% end -%> 

だから、あなたの中に置くのコードは、HTMLファイルのにつくれます。

このエピソードは、より詳細にそれを説明しrailscasts:あなたの "特定" ビューで

<head> 
    <% if content_for? :for_head %> 
    <%= yield :for_head %> 
    <% end %> 

:ここhttp://railscasts.com/episodes/8-layouts-and-content-for

5

は答えあなたapplication.html.erbhttps://stackoverflow.com/a/10226010

ある

<% content_for :for_head do %> 
    Something-to-put-in-head 
<% end %> 

:for_headはあらかじめ定義されていません。名前はあなた次第です。それは何でもかまいません。