Instalación de la aplicación Bootstrap 3 on Rails
Estoy intentando instalar Bootstrap 3.0 en mi aplicación Rails. Recientemente terminé el tutorial de Michael Hartl y ahora estoy tratando de construir mi propio sistema usando esta nueva versión de Bootstrap, pero tengo algunas preguntas de las que no estoy seguro.
Mis especificaciones del sistema:
- OS X Mountain Lion en MBP
- Rails 4.0
- Ruby 2.0
Preguntas que tengo:
- ¿Cuál es la mejor gema para usar en mi Gemfile? He encontrado algunos de ellos.
- ¿Qué importa? en mi
custom.css.scss
? Leí en alguna parte que es diferente de 2.3.2. - ¿Hay algo más que tenga que hacer para que Bootstrap funcione, o los pasos restantes son idénticos a los que seguí para Bootstrap 2.3.2?
Editar
Esto es lo que el proyecto bootstrap-rails en GitHub primero dice que hacer:
gem 'anjlab-bootstrap-rails', :require => 'bootstrap-rails',
:github => 'anjlab/bootstrap-rails'
Entonces dice hacer:
gem 'anjlab-bootstrap-rails', '>= 3.0.0.0', :require => 'bootstrap-rails'
¿Hacen lo mismo, o tienes que hacer las dos cosas?
10 answers
En realidad no necesita gem para esto, aquí está el paso para instalar Bootstrap 3 en RoR
Descargar Bootstrap
-
Copia:
bootstrap-dist/css/bootstrap.css
ybootstrap-dist/css/bootstrap.min.css
A:
vendor/assets/stylesheets
-
Copia:
bootstrap-dist/js/bootstrap.js
ybootstrap-dist/js/bootstrap.min.js
A:
vendor/assets/javascripts
-
Actualizar:
app/assets/stylesheets/application.css
añadiendo:*= require bootstrap.min
-
Actualizar:
app/assets/javascripts/application.js
por añadiendo://= require bootstrap.min
Con esto puede actualizar bootstrap en cualquier momento que desee, no es necesario esperar gema para ser actualizado. También con este enfoque, assets pipeline utilizará versiones minificadas en producción.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-04 06:40:09
Como muchos saben, no hay necesidad de una gema.
Pasos a seguir:
- Descargar Bootstrap
- Enlace de descarga directa Bootstrap 3.1.1
- O llegó a http://getbootstrap.com /
-
Copia
bootstrap/dist/css/bootstrap.css bootstrap/dist/css/bootstrap.min.css
A:
app/assets/stylesheets
-
Copia
bootstrap/dist/js/bootstrap.js bootstrap/dist/js/bootstrap.min.js
A:
app/assets/javascripts
-
Añadir a:
app/assets/stylesheets/application.css
* = require bootstrap
-
Añadir para:
app/assets/javascripts/application.js
/ / = require bootstrap
Eso es todo. Está listo para agregar una nueva plantilla de arranque genial.
¿Por qué app/
en lugar de vendor/
?
Es importante agregar los archivos a app/assets, por lo que en el futuro podrá sobrescribir los estilos de arranque.
Si más tarde desea agregar un archivo custom.css.scss
con estilos personalizados. Usted tendrá algo similar a esto en application.css
:
*= require bootstrap
*= require custom
Si al colocar los archivos bootstrap en app/assets, todo funciona como se esperaba. Pero, si los coloca en vendor/assets , los archivos Bootstrap se cargarán en último lugar. Así:
<link href="/assets/custom.css?body=1" media="screen" rel="stylesheet">
<link href="/assets/bootstrap.css?body=1" media="screen" rel="stylesheet">
Por lo tanto, algunas de sus personalizaciones no se usarán ya que los estilos de Bootstrap los anularán.
Razón detrás de esto
Rails buscará activos en muchas ubicaciones; para obtener una lista de estas ubicaciones, puede hacer lo siguiente:
$ rails console
> Rails.application.config.assets.paths
En la salida verás que app/assets tiene prioridad, por lo tanto lo carga primero.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-11 01:22:54
Esta respuesta es para aquellos que buscan instalar Bootstrap 3 en su aplicación Rails sin usar una gema. Hay dos maneras simples de hacer esto que toman menos de 10 minutos. Elija el que mejor se adapte a sus necesidades. Glyphicons y Javascript funcionan y los he probado con la última beta de Rails 4.1.0 también.
Usando Bootstrap 3 con Rails 4 - Los archivos Bootstrap 3 se copian en el directorio de proveedores de su aplicación.
Añadir Bootstrap desde un CDN a su aplicación Rails - Los archivos Bootstrap 3 se sirven desde el Bootstrap CDN.
El número 2 anterior es el más flexible. Todo lo que necesita hacer es cambiar el número de versión que se almacena en un ayudante de diseño. Así que puedes ejecutar la versión Bootstrap de tu elección, ya sea 3.0.0, 3.0.3 o incluso versiones anteriores de Bootstrap 2.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-08 19:28:41
Twitter ahora tiene una versión de bootstrap preparada para sass con gema incluida, por lo que es más fácil que nunca agregarla a Rails.
Simplemente agregue a su gemfile lo siguiente:
gem 'sass-rails', '>= 3.2' # sass-rails needs to be higher than 3.2
gem 'bootstrap-sass', '~> 3.1.1'
bundle install
y reinicie su servidor para que los archivos estén disponibles a través de la canalización.
También hay soporte para compass y sass-only: https://github.com/twbs/bootstrap-sass
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-19 16:09:56
Utilizo https://github.com/yabawock/bootstrap-sass-rails
Que es bastante sencillo de instalar, actualizaciones de gemas rápidas y seguimientos y correcciones rápidas en caso de que sea necesario.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-22 04:29:45
gem bootstrap-sass
Bootstrap-sass es fácil de colocar en Rails con la canalización de activos.
En su Gemfile necesita agregar la gema bootstrap-sass, y asegurarse de que la gema sass-rails esté presente - se agrega a nuevas aplicaciones Rails por defecto.
gem 'sass-rails', '>= 3.2' # sass-rails needs to be higher than 3.2
gem 'bootstrap-sass', '~> 3.0.3.0'
bundle install
y reinicie su servidor para que los archivos estén disponibles a través de la canalización.
Fuente: http://rubydoc.info/gems/bootstrap-sass/3.0.3.0/frames
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-16 22:46:29
Para mí, la forma más sencilla de hacer esto es
1) Descargar y descomprimir bootstrap en vendor
2) Agregue la ruta de arranque a su configuración
config.assets.paths << Rails.root.join("vendor/bootstrap-3.3.6-dist")
3) Requerirlos
En css *= require css/bootstrap
En js //= require js/bootstrap
Hecho!
Este método hace que las fuentes se carguen sin ninguna otra configuración especial y no requiere mover los archivos bootstrap fuera de su directorio autónomo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-14 16:37:37
El uso de esta rama se espera resolver el problema:
gem 'twitter-bootstrap-rails',
git: 'git://github.com/seyhunak/twitter-bootstrap-rails.git',
branch: 'bootstrap3'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-23 10:05:37
Creo que la gema más actualizada para la nueva versión de bootstrap es form anjlab.
Pero no se si actualmente funciona bien con otras gemas como simple_form cuando lo haces rails generate simple_form:install --bootstrap
, etc. es posible que tenga que editar algunos inicializadores o configuraciones para adaptarse a la nueva versión de bootstrap.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-22 04:00:01
En realidad tenía una solución fácil en este caso en el que casi me rasco la cabeza sobre cómo hacer que funcione. hahah!
Bueno, primero descargué Bootstrap (la versión compilada de css y js).
Luego pegué todos los archivos css de bootstrap a app/assets/stylesheets/
.
Y luego pegué todos los archivos js de bootstrap a app/assets/javascripts/
.
Recargé la página y wallah! Acabo de añadir bootstrap en mi RoR!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-23 12:38:45