2009-08-29 9 views
6

Supongamos que tengo un diseño de la aplicación, y en su cedo para: contenido de cabeza de la siguiente manera:Adición de contenido a un diseño de una parcial

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

Supongamos que en ese mismo diseño de la aplicación que llamo una parcial para hacer que la menú principal.

<body> 

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

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

¿Hay alguna manera, desde dentro de mi _menu_main.erb parcial para añadir contenido a la sección de: cabeza de mi diseño de la aplicación (digamos a añadir un poco de css)?

Respuesta

13

Tienes que usar la etiqueta content_for.

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

Por lo tanto, el código se pone dentro de apear en la cabeza de su archivo html.

Este Railscasts episodio lo explica con más detalles: http://railscasts.com/episodes/8-layouts-and-content-for

5

Aquí está la respuesta https://stackoverflow.com/a/10226010

En su application.html.erb:

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

En su opinión "específica":

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

:for_head no está predefinido: nombrarlo depende de usted. Podría ser cualquier cosa.

Cuestiones relacionadas