2011-10-05 3 views

cevap

13

, tüm stil application.css içine birleştirilecek.

Sen ile belirli bir stil gerektirebilir:

%head 
= yield :head 

ve sayfanıza:

*= require main 

Aksi takdirde, düzeni, yazdığınız

= content_for :head do 
= stylesheet_link_tag 'stylesheet' 
+0

% kafa ve verim: kafa bitleri ne yapar? –

+0

Haml: % head = verim: kafa HTML'de etiketini oluşturacak ve kodu başka bir sayfadan verim ile üretecek – damienbrz

3

Ayrıca bakınız:
http://guides.rubyonrails.org/layouts_and_rendering.html

(bölümler 2.2.14 'Bulma Düzenleri' bakınız)

farklı denetleyicileri için farklı düzenler olabilir!

örn. app/views/layouts altında application.haml ve admin.haml ve uygulama/denetleyiciler altında bir admin_controller.rb sahip olabileceğinizi düşünebilirsiniz.

Raylar, denetleyici ile aynı ada sahip bir düzen bulmaya çalışır.

Ayrıca bu davranışı geçersiz kılmak ve bu yeni düzen için/stil, ör .: kullanmak

class ItemsController < ApplicationController 
    layout "admin" 
    #... 
end 

Daha sonra uygulamanın altındaki bir admin.scss dosyası oluşturmak hangi düzen belirtebilirsiniz! Bu * = require_tree nedeniyle olduğunu

/* 
* This is a manifest file that'll automatically include all the stylesheets available in this directory 
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at 
* the top of the compiled file, but it's generally better to create a new file per style scope. 
*= require_self 
*= require_tree . 
*/ 

: sevdiği application.css görünüyorsa Raylar 3.1'de

+0

+1. – ahnbizcad

+0

teşekkürler. evet, bu bir loooong sayfası ve bölüm sayılarını değiştirdiler – Tilo

10

beni ekleyeyim Benim için çalışan bir çözüm. Bir önceki cevapta belirtildiği üzere

Eğer application.css dosyadan

*= require_tree . 

ifadeyi kaldırmak isteyebilirsiniz.

ben uygulama genelinde paylaşılan stilleri için

*= require_self 

açıklamada tuttu.

Sonra Application.html dosyada sadece application.css ve görünümde controller.controller_name.css stil sayfaları dahil etmek şu ifadeleri kullandı.

= stylesheet_link_tag "application", controller.controller_name 
= javascript_include_tag "application", controller.controller_name 

JavaScript dosyaları için aynı eserlerini görebileceğiniz gibi.Aynı eski bağlantıyı boşaltmak yerine, hangi bölüme bakacağınızı belirlemek için