Rendering CSS Bersyarat dalam Rails 3.1
Jalur paip aset Rails 3.1 menawarkan mekanisme berkuasa untuk mengurus aset statik, termasuk fail CSS. Walau bagaimanapun, memberikan CSS secara bersyarat berdasarkan kriteria tertentu boleh menjadi tugas yang mencabar.
Pendekatan Lalai
Secara lalai, perintah *= require_tree merangkumi semua fail CSS dalam direktori aset/lembaran gaya. Pendekatan ini boleh membawa kepada berkas CSS yang besar dan tidak boleh dibaca.
Kemasukan Fail Individu
Sebagai penyelesaian, anda boleh menentukan secara manual setiap fail CSS secara individu dalam application.css anda nyata. Walaupun kaedah ini menyediakan kawalan yang lebih halus, ia boleh membosankan dan tidak fleksibel.
Penyelesaian Lebih Pintar
Penyelesaian yang lebih elegan melibatkan penggunaan fail manifes yang berasingan untuk memecahkan keperluan CSS kepada kumpulan logik. Pendekatan ini membolehkan anda menambah lembaran gaya baharu secara automatik tanpa memerlukan pengeditan manual.
Langkah 1: Susun Semula Struktur Aset
Mulakan dengan menyusun semula folder apl/aset/stylesheets anda ke dalam struktur berikut:
Langkah 2: Edit Fail Manifes
Seterusnya, edit tiga fail manifes seperti yang ditunjukkan di bawah:
# application-all.css *= require_self *= require_tree ./all # application-print.css *= require_self *= require_tree ./print # application-ie.css *= require_self *= require_tree ./ie
Langkah 3: Kemas Kini Reka Letak Aplikasi
Ubah suai reka letak aplikasi anda untuk memasukkan fail manifes baharu:
<%= stylesheet_link_tag "application-all", :media => "all" %> <%= stylesheet_link_tag "application-print", :media => "print" %> <!--[if lte IE 8]> <%= stylesheet_link_tag "application-ie", :media => "all" %> <![endif]-->
Langkah 4: Konfigurasikan Persekitaran Pengeluaran
Tambahkan fail manifes baharu pada anda config/environments/production.rb:
config.assets.precompile += %w( application-all.css application-print.css application-ie.css )
Nota tentang Rujukan Imej
Sedar bahawa pendekatan pemaparan bersyarat ini mungkin menjejaskan rujukan imej dalam helaian gaya anda. Untuk memastikan pemuatan imej yang betul, anda boleh mengalihkan imej untuk mengikuti struktur folder yang sama, melayakkan laluan imej atau menggunakan url imej pembantu SASS('image.png').
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Rendering CSS Bersyarat dalam Rails 3.1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!