2011-09-23 9 views
6

Cardo mis hojas de estilo y archivos js en <head> por motivos de rendimiento.Rieles content_for sobrescribe en lugar de agrega

Mi sitio tiene varios componentes y cada plantilla quiere sus propios archivos de encabezado extra dentro de <% yield(:head).

He probado <% content_for :head do %> .. pero luego me doy cuenta de que realmente sobrescribe en lugar de agregar a una sección en particular.

¿Qué usan?

+0

echar un vistazo http://stackoverflow.com/questions/7512486/ruby-on-rails-yielding-specific-views-in-a-specific-places-in-the-layout – datalost

+0

@Froyo que no es lo que Estoy pidiendo A menos que escriba varios <% de rendimiento, pero realmente no quiero hacer eso – disappearedng

Respuesta

8

content_for en realidad se agrega por defecto. De la documentación, si tuviera que hacer ...

<% content_for :navigation do %> 
    <li><%= link_to 'Home', :action => 'index' %></li> 
<% end %> 

<%# Add some other content, or use a different template: %> 

<% content_for :navigation do %> 
    <li><%= link_to 'Login', :action => 'login' %></li> 
<% end %> 

Si ha utilizado ...

<ul><%= content_for :navigation %></ul> 

Sería salida ...

<ul> 
    <li><a href="/">Home</a></li> 
    <li><a href="/login">Login</a></li> 
</ul> 

Sólo probado esta forma local en una aplicación de carriles 3.1.0 para asegurarse de que este sigue siendo el caso y lo hace bien.

+0

Aquí hay un [enlace] (https://github.com/rails/rails/blob/master/actionpack/lib/action_view/helpers/capture_helper.rb# L139) a la fuente que confirma la versión de LLoyd. – asymmetric

Cuestiones relacionadas