Saya mencoba menginstal Bootstrap 3.0 di aplikasi Rails saya. Saya baru saja menyelesaikan tutorial Michael Hartl dan sekarang mencoba membangun sistem saya sendiri menggunakan Bootstrap versi baru ini, tetapi saya memiliki beberapa pertanyaan yang tidak saya yakini.
Spesifikasi sistem saya:
- OS X Mountain Lion di MBP
- Rails 4.0
- Ruby 2.0
Pertanyaan yang saya miliki:
- Permata apa yang terbaik untuk digunakan di Gemfile saya? Saya telah menemukan beberapa dari mereka.
- Apa yang saya impor
custom.css.scss
? Saya pernah membaca bahwa ini berbeda dari 2.3.2. - Apakah ada hal lain yang harus saya lakukan agar Bootstrap berfungsi, atau apakah langkah-langkah lainnya sama dengan yang saya ikuti untuk Bootstrap 2.3.2?
Sunting
Inilah yang pertama kali dikatakan oleh proyek bootstrap-rails di GitHub :
gem 'anjlab-bootstrap-rails', :require => 'bootstrap-rails',
:github => 'anjlab/bootstrap-rails'
Kemudian dikatakan untuk melakukan:
gem 'anjlab-bootstrap-rails', '>= 3.0.0.0', :require => 'bootstrap-rails'
Apakah mereka melakukan hal yang sama, atau Anda harus melakukan keduanya?
sumber
vendor/assets/{stylesheets|javascripts}
? Sprocket harus mengecilkan file yang disertakan di dalamnyaapp/assets/{stylesheets|javascripts}
.Seperti yang diketahui banyak orang, tidak perlu permata.
Langkah-langkah yang harus diambil:
Menyalin
untuk:
app/assets/stylesheets
Menyalin
untuk:
app/assets/javascripts
Tambahkan ke:
app/assets/stylesheets/application.css
Tambahkan ke:
app/assets/javascripts/application.js
Itu semuanya. Anda siap menambahkan template Bootstrap baru yang keren.
Mengapa,
app/
bukanvendor/
?Penting untuk menambahkan file ke app / assets , jadi di masa mendatang Anda akan dapat menimpa gaya Bootstrap.
Jika nanti Anda ingin menambahkan
custom.css.scss
file dengan gaya kustom. Anda akan memiliki sesuatu yang mirip dengan ini diapplication.css
:Jika Anda menempatkan file bootstrap di app / assets , semuanya berfungsi seperti yang diharapkan. Tetapi, jika Anda menempatkannya di vendor / aset , file Bootstrap akan dimuat terakhir. Seperti ini:
Jadi, beberapa penyesuaian Anda tidak akan digunakan karena gaya Bootstrap akan menimpanya.
Alasan dibalik ini
Rel akan mencari aset di banyak lokasi; untuk mendapatkan daftar lokasi ini Anda bisa melakukan ini:
Dalam output Anda akan melihat bahwa app / assets diutamakan, sehingga memuatnya terlebih dahulu.
sumber
Jawaban ini untuk Anda yang ingin menginstal Bootstrap 3 di aplikasi Rails Anda tanpa menggunakan permata. Ada dua cara sederhana untuk melakukan ini yang membutuhkan waktu kurang dari 10 menit. Pilih salah satu yang paling sesuai dengan kebutuhan Anda. Glyphicons dan Javascript berfungsi dan saya telah mengujinya dengan versi beta terbaru dari Rails 4.1.0 juga.
Menggunakan Bootstrap 3 dengan Rails 4 - File Bootstrap 3 disalin ke direktori vendor aplikasi Anda.
Menambahkan Bootstrap dari CDN ke aplikasi Rails Anda - File Bootstrap 3 disajikan dari CDN Bootstrap .
Nomor 2 di atas adalah yang paling fleksibel. Yang perlu Anda lakukan hanyalah mengubah nomor versi yang disimpan di pembantu tata letak. Jadi, Anda dapat menjalankan versi Bootstrap pilihan Anda, baik versi 3.0.0, 3.0.3, atau bahkan rilis Bootstrap 2 yang lebih lama.
sumber
localhost:3000/fonts/glyphicons-halflings-regular.svg
sebagai contoh di konsol Chrome, dan glyphicons tidak muncul (sebagai 404)./vendor/assets/
dalam proyek Anda. Anda juga harus memeriksa application.css untuk memastikan Anda membutuhkan bootstrap.min dan @ font-face overrides. SCSS banyak digunakan hari ini. Jika Anda menggunakannya maka Anda perlu mengubah 'src: url' menjadi 'src: asset-url' di @ font-face override. Ada juga contoh proyek di bagian bawah postingan yang mungkin bisa membantu.Twitter sekarang memiliki versi bootstrap yang siap sass dengan permata disertakan, jadi lebih mudah dari sebelumnya untuk menambahkannya ke Rails.
Cukup tambahkan ke gemfile Anda berikut ini:
bundle install
dan mulai ulang server Anda agar file tersedia melalui pipeline.Ada juga dukungan untuk kompas dan sass-only: https://github.com/twbs/bootstrap-sass
sumber
Saya menggunakan https://github.com/yabawock/bootstrap-sass-rails
Yang merupakan pemasangan yang cukup mudah, pembaruan dan tindak lanjut permata yang cepat dan perbaikan cepat jika diperlukan.
sumber
gem bootstrap-sass
bootstrap-sass mudah untuk dimasukkan ke dalam Rails dengan aliran aset.
Di Gemfile Anda, Anda perlu menambahkan gem bootstrap-sass, dan memastikan bahwa permata sass-rails ada - secara default ditambahkan ke aplikasi Rails baru.
gem 'sass-rails', '>= 3.2' # sass-rails needs to be higher than 3.2
gem 'bootstrap-sass', '~> 3.0.3.0'
bundle install
dan mulai ulang server Anda agar file tersedia melalui pipeline.Sumber: http://rubydoc.info/gems/bootstrap-sass/3.0.3.0/frames
sumber
Bagi saya, cara termudah untuk melakukannya adalah
1) Unduh dan unzip bootstrap ke file
vendor
2) Tambahkan jalur bootstrap ke konfigurasi Anda
config.assets.paths << Rails.root.join("vendor/bootstrap-3.3.6-dist")
3) Membutuhkan mereka
di css
*= require css/bootstrap
di js
//= require js/bootstrap
Selesai!
Metode ini membuat font dimuat tanpa konfigurasi khusus lainnya dan tidak perlu memindahkan file bootstrap keluar dari direktori mandiri mereka.
sumber
Dengan menggunakan cabang ini diharapkan akan menyelesaikan masalah:
sumber
Menurut saya permata paling mutakhir untuk versi bootstrap baru adalah bentuk anjlab .
Tetapi saya tidak tahu apakah saat ini berfungsi dengan baik dengan permata lain seperti simple_form ketika Anda melakukannya
rails generate simple_form:install --bootstrap
, dll. Anda mungkin harus mengedit beberapa penginisialisasi atau konfigurasi agar sesuai dengan versi bootstrap yang baru.sumber
gem "anjlab-bootstrap-rails", "~> 3.0.0.1"
.gem 'anjlab-bootstrap-rails', '>= 3.0.0.0', :require => 'bootstrap-rails'
Saya benar-benar memiliki solusi yang mudah untuk yang satu ini di mana saya hampir menggaruk-garuk kepala tentang cara membuatnya bekerja. hahah!
Nah, pertama saya mengunduh Bootstrap (versi css dan js yang dikompilasi).
Kemudian saya menempelkan semua file css bootstrap ke
app/assets/stylesheets/
.Dan kemudian saya menempelkan semua file bootstrap js ke
app/assets/javascripts/
.Saya memuat ulang halaman dan wallah! Saya baru saja menambahkan bootstrap di RoR saya!
sumber