Instalacja aplikacji Bootstrap 3 on Rails

Próbuję zainstalować Bootstrap 3.0 na mojej aplikacji Rails. Niedawno skończyłem Michael Hartl tutorial i jestem teraz próbuje zbudować własny system za pomocą tej nowej wersji Bootstrap, ale mam kilka pytań, które nie jestem pewien.

Moje parametry systemu:

  • OS X Mountain Lion na MBP
  • Rails 4.0
  • Ruby 2.0

Pytania, które mam:

  1. jaki jest najlepszy klejnot do użycia w moim Gemfile? Znalazłem kilka z nich.
  2. co importuję na moim custom.css.scss? Czytałem gdzieś, że różni się od 2.3.2.
  3. czy jest jeszcze coś, co muszę zrobić, aby uruchomić Bootstrap, czy też pozostałe kroki są identyczne z tymi, które wykonałem dla Bootstrap 2.3.2?

Edit

Oto co projekt bootstrap-rails na Githubie najpierw mówi, aby zrobić:

gem 'anjlab-bootstrap-rails', :require => 'bootstrap-rails',
                              :github => 'anjlab/bootstrap-rails'

Potem mówi do zrobienia:

gem 'anjlab-bootstrap-rails', '>= 3.0.0.0', :require => 'bootstrap-rails'
Czy oni robią to samo, czy ty musisz robić oba?
Author: J0e3gan, 2013-08-22

10 answers

Gem nie jest do tego potrzebny, oto krok do zainstalowania Bootstrap 3 w RoR

  • Pobierz Bootstrap

  • Kopia:

    bootstrap-dist/css/bootstrap.css i bootstrap-dist/css/bootstrap.min.css

    Do: vendor/assets/stylesheets

  • Kopia:

    bootstrap-dist/js/bootstrap.js i bootstrap-dist/js/bootstrap.min.js

    Do: vendor/assets/javascripts

  • Aktualizacja: app/assets/stylesheets/application.css przez dodanie:

    *= require bootstrap.min
    
  • Aktualizacja: app/assets/javascripts/application.jsprzez dodawanie:

    //= require bootstrap.min
    

Dzięki temu możesz zaktualizować bootstrap w dowolnym momencie, nie musisz czekać na aktualizację gem. Również przy takim podejściu assets pipeline będzie korzystać z wersji minified w produkcji.

 270
Author: hawk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-04 06:40:09

Jak wielu wie, nie ma potrzeby posiadania klejnotu.

Kroki do wykonania:

  1. Pobierz Bootstrap
  2. Kopia

    bootstrap/dist/css/bootstrap.css
    bootstrap/dist/css/bootstrap.min.css 
    

    Do: app/assets/stylesheets

  3. Kopia

    bootstrap/dist/js/bootstrap.js
    bootstrap/dist/js/bootstrap.min.js 
    

    Do: app/assets/javascripts

  4. Dołącz do: app/assets/stylesheets/application.css

    *= wymagaj bootstrap

  5. Dołącz do: app/assets/javascripts/application.js

    //= require bootstrap

To wszystko. jesteś gotowy, aby dodać nowy fajny szablon Bootstrap.


Dlaczego app/ zamiast vendor/?

Ważne jest, aby dodać pliki do app / assets, więc w przyszłości będziesz mógł nadpisać style Bootstrap.

Jeśli później chcesz dodać plik custom.css.scss z niestandardowymi stylami. Będziesz miał coś podobnego w application.css:

 *= require bootstrap                                                            
 *= require custom  

Jeśli umieszczając pliki bootstrap w app / assets , wszystko działa zgodnie z oczekiwaniami. Ale jeśli umieścisz je w vendor / assets, pliki Bootstrap zostaną załadowane jako ostatnie. Tak:

<link href="/assets/custom.css?body=1" media="screen" rel="stylesheet">
<link href="/assets/bootstrap.css?body=1" media="screen" rel="stylesheet">

Więc niektóre z Twoich ustawień nie będą używane, ponieważ Style Bootstrap je nadpisują.

Powód tego

Rails będzie szukał zasobów w wielu lokalizacjach; aby uzyskać listę tych lokalizacji, możesz to zrobić:

$ rails console
> Rails.application.config.assets.paths

W wyjściu zobaczysz to app / assets ma pierwszeństwo, więc najpierw ją ładuje.

 62
Author: givanse,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-11 01:22:54

Ta odpowiedź jest dla tych z Was, którzy chcą zainstalować Bootstrap 3 w aplikacji Rails bez użycia klejnotu. Istnieją dwa proste sposoby, aby to zrobić, które zajmują mniej niż 10 minut. Wybierz ten, który najlepiej odpowiada twoim potrzebom. Gliphicony i Javascript działają i testowałem je również z najnowszą beta Rails 4.1.0.

  1. Używanie Bootstrap 3 z Rails 4 - Pliki Bootstrap 3 są kopiowane do katalogu dostawcy Twojej aplikacji.

  2. Dodawanie Bootstrap z CDN do Twojej aplikacji Rails - Pliki Bootstrap 3 są serwowane z Bootstrap CDN.

Numer 2 powyżej jest najbardziej elastyczny. Wszystko, co musisz zrobić, to zmienić numer wersji, który jest przechowywany w layout helper. Możesz więc uruchomić wybraną wersję Bootstrap, niezależnie od tego, czy jest to wersja 3.0.0, 3.0.3, czy nawet starsze wersje Bootstrap 2.

 35
Author: rvg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-08 19:28:41

Twitter ma teraz gotową do obsługi sass wersję bootstrap z dołączonym gem, więc łatwiej niż kiedykolwiek dodać go do Rails.

Po prostu dodaj do swojego gemfile:

gem 'sass-rails', '>= 3.2' # sass-rails needs to be higher than 3.2
gem 'bootstrap-sass', '~> 3.1.1'

bundle install i uruchom ponownie serwer, aby pliki były dostępne w potoku.

Istnieje również wsparcie tylko dla compass i sass: https://github.com/twbs/bootstrap-sass

 22
Author: Eneko Alonso,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-19 16:09:56

Używam https://github.com/yabawock/bootstrap-sass-rails

Który jest dość dużo prosta instalacja, szybkie aktualizacje gem i followups i szybkie poprawki w razie potrzeby.

 11
Author: Nick Ginanto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-22 04:29:45

gem bootstrap-sass

Bootstrap-sass jest łatwy do upuszczenia w Railach za pomocą potoku zasobów.

W Twoim Gemfile musisz dodać gem bootstrap-sass i upewnić się, że gem sass-rails jest obecny - domyślnie jest dodawany do nowych aplikacji Rails.

gem 'sass-rails', '>= 3.2' # sass-rails needs to be higher than 3.2 gem 'bootstrap-sass', '~> 3.0.3.0'

bundle install i uruchom ponownie serwer, aby pliki były dostępne w potoku.

Źródło: http://rubydoc.info/gems/bootstrap-sass/3.0.3.0/frames

 5
Author: Bruno,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-16 22:46:29

Dla mnie najprostszym sposobem na to jest

1) Pobierz i rozpakuj bootstrap do vendor

2) Dodaj ścieżkę bootstrap do konfiguracji

config.assets.paths << Rails.root.join("vendor/bootstrap-3.3.6-dist")

3) Wymagaj ich

W css *= require css/bootstrap

W js //= require js/bootstrap

Zrobione!

Metoda ta powoduje, że czcionki ładują się bez żadnej innej specjalnej konfiguracji i nie wymaga przenoszenia plików bootstrap z ich samodzielnego katalogu.

 3
Author: vinhboy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-14 16:37:37

Korzystanie z tej gałęzi rozwiąże problem:

gem 'twitter-bootstrap-rails',
  git: 'git://github.com/seyhunak/twitter-bootstrap-rails.git',
  branch: 'bootstrap3'
 3
Author: chanakya devraj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-23 10:05:37

Myślę, że najbardziej aktualnym klejnotem dla nowej wersji bootstrap jest forma anjlab .

Ale nie wiem czy obecnie działa dobrze z innymi klejnotami jak simple_form kiedy robisz rails generate simple_form:install --bootstrap itp. być może trzeba będzie edytować niektóre inicjalizatory lub konfiguracje, aby pasowały do nowej wersji bootstrap.

 1
Author: tbraun89,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-22 04:00:01

Właściwie miałem łatwe obejście tego, w którym prawie podrapałem się po głowie, jak to zrobić. hahah!

Cóż, najpierw ściągnąłem Bootstrap (skompilowaną wersję css i js).

Następnie wkleiłem wszystkie pliki css Bootstrap do app/assets/stylesheets/.

A następnie wkleiłem wszystkie pliki bootstrap js do app/assets/javascripts/.

Przeładowałem stronę i wallah! Właśnie dodałem bootstrap w RoR!

 0
Author: therealadrain,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-23 12:38:45