2011-09-23 11 views
6

Załaduję moje arkusze stylów i pliki js w <head> ze względu na wydajność.Szyny content_for nadpisuje zamiast dołącza

Moja witryna ma wiele komponentów, a każdy szablon chce mieć własne dodatkowe pliki nagłówkowe wewnątrz <% yield(:head).

Przetestowałem <% content_for :head do %> .. ale potem zdaję sobie sprawę, że faktycznie nadpisuje, a nie dołącza do konkretnej sekcji.

Co używacie?

+0

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

+0

@Froyo to nie jest to Proszę o to. O ile nie piszę więcej <% wydajności, ale naprawdę nie chcę tego robić – disappearedng

Odpowiedz

8

content_for faktycznie dołącza domyślnie. Z dokumentacji, jeśli było zrobić ...

<% 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 %> 

Jeśli użyto ...

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

Byłoby wyjście ...

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

tylko przetestowane lokalnie na aplikacja rails 3.1.0, aby upewnić się, że tak jest nadal i robi to dobrze.

+0

Oto [link] (https://github.com/rails/rails/blob/master/actionpack/lib/action_view/helpers/capture_helper.rb# L139) do źródła, które potwierdza wersję LLoyd. – asymmetric

Powiązane problemy