rails instalar bootstrap ruby-on-rails heroku ruby-on-rails-4 bootstrap-sass

ruby-on-rails - instalar - rails add bootstrap 4



No se puede obtener CSS trabajando en Heroku usando Rails 4 con la gema bootstrap-sass (8)

Acabo de recibir ahora (13 de junio de 2013) esta respuesta de los desarrolladores de Heroku cuyo apoyo me guió a través de las barreras. Así es como obtuve mi visualización CSS de Localhost trabajando en mi aplicación Heroku.

"Todo lo que tiene que hacer es activar los recursos que se encuentran en producción y configurar el registrador en stdout para que Rails4 funcione en Heroku. Actualmente estamos trabajando en suavizar el proceso de implementación para las aplicaciones de Rails 4 pero, mientras tanto, puede cambiar esas líneas en tu código y no necesitarás esas gemas ". (Gracias Bret y Neil, buenas noticias)

En / config / environments / producción. conjunto:

config.cache_classes = true config.serve_static_files = true config.assets.compile = true config.assets.digest = true

No sé sobre el stdout en el registrador, así que no puedo verificarlo.

Haz un git add. y git commit.

Asegúrese de que /config/database.yml tenga:

production: adapter: postgresql encoding: unicode database: Your_appname_production

Necesitarás esta información para el comando env a continuación.

Asegúrate de tener gem ''pg'' en producción en tu Gemfile. Haz otro commit de git.

Ejecute este comando en una terminal de su aplicación en una línea:

env RAILS_ENV=production DATABASE_URL=postgresql://user:[email protected]/Your_app_name_production bundle exec rake assets:precompile 2>&1

Donde DATABASE_URL = postgresql es idéntico a su adaptador de producción en el archivo yml y se especifica su_app_name_production porque Heroku solo parece ejecutar la producción.

Me desaconsejaban y no necesitaba:

group :production do gem ''rails_log_stdout'', github: ''heroku/rails_log_stdout'' gem ''rails3_serve_static_assets'', github: ''heroku/rails3_serve_static_assets'' end

Se produce un error en la instalación del paquete y Heroku.

No sé si esto ayuda, pero también agregué producción a

Bundler.require(*Rails.groups(assets: %w(development test production)))

No recuerdo dónde vi ese consejo.

HTH Arel

Implementé una aplicación para Heroku con un problema que parece que no puedo resolver. El CSS de la aplicación a través de Bootstrap-sass no se carga, así que tengo una aplicación sin estilo. Por el momento, esto es solo una colección de páginas estáticas.

He seguido todos menos un paso en el archivo README https://github.com/thomas-mcdonald/bootstrap-sass El paso que no puedo descifrar es muy probable que sea mi problema. Debido a un cambio en Rails que impide que las imágenes se compilen en proveedor y lib, deberá agregar la siguiente línea a su aplicación.rb:

config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)

Como todavía soy muy nuevo en la programación, el primer problema es que no tengo ni idea de dónde y cómo agregar esto dentro del archivo application.rb. Le agradecería enormemente si alguien pudiera ayudarme a mostrarme cómo y dónde agregar correctamente la línea de código anterior.

El segundo problema podría estar relacionado con las gemas que estoy usando; sin embargo, cuando creé la aplicación, la gema sass-rails se instaló con ~> 4.0.0.beta1. Según el README, la versión a usar es 3.2. Como esto también podría ser un problema, he incluido el archivo gem en caso de que alguien determine que ese es el motivo subyacente de mi problema.

Gracias de antemano por cualquier ayuda que pueda brindar.

Editar: para agregar los pasos que tomé en el primer intento, el estilo funcionó correctamente en mi host local pero no una vez que el código se implementó en heroku.

  1. Creó una nueva aplicación Rails 4 (archivo gema a continuación)
  2. Se agregó la gema bootstrap-sass listada en el archivo gem a continuación
  3. Se agregó gema PG a mi archivo gema en el grupo de producción y se movió SQLite3 al desarrollo y prueba (se ejecutó la instalación del paquete sin producción siguiendo los pasos 2 y 3)
  4. creó un controlador de páginas para una página de inicio estática
  5. Se agregó una h1 dentro de una unidad héroe en la página de inicio solo para ver si el estilo funcionaba
  6. agregó un archivo styles.css.scss e incluyó @import ''bootstrap''; a la hoja de estilo
  7. Creé el repositorio git, ejecuté mi confirmación inicial y puse el código en git
  8. Creó la aplicación heroku y empujó al maestro a Heroku

En el segundo intento, agregué una barra de navegación a la página de inicio (si eso hace una diferencia para cualquiera) y seguí los pasos 7 y 8 nuevamente, pero justo antes de hacer esos pasos, ejecuté la siguiente línea de código.

RAILS_ENV=production bundle exec rake assets:precompile

Todavía terminé con un sitio que tenía el estilo adecuado en mi host local, pero no funcionaba ningún estilo en Heroku. Como mencioné anteriormente en mi publicación original, hay una línea de código que debe agregarse al archivo application.rb que no seguí debido a mi falta de comprensión de cómo agregar correctamente la línea de código en el archivo.

Gemfile:

source ''https://rubygems.org'' ruby "2.0.0" # Bundle edge Rails instead: gem ''rails'', github: ''rails/rails'' gem ''rails'', ''4.0.0.beta1'' group :production do gem ''pg'' end group :development, :test do gem ''sqlite3'' end # Gems used only for assets and not required # in production environments by default. group :assets do gem ''sass-rails'', ''~> 4.0.0.beta1'' gem ''coffee-rails'', ''~> 4.0.0.beta1'' gem ''bootstrap-sass'', ''~> 2.3.1.1'' # See https://github.com/sstephenson/execjs#readme for more supported runtimes # gem ''therubyracer'', platforms: :ruby gem ''uglifier'', ''>= 1.0.3'' end gem ''jquery-rails'' # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks gem ''turbolinks'' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem ''jbuilder'', ''~> 1.0.1'' # To use ActiveModel has_secure_password # gem ''bcrypt-ruby'', ''~> 3.0.0'' # Use unicorn as the app server # gem ''unicorn'' # Deploy with Capistrano # gem ''capistrano'', group: :development # To use debugger # gem ''debugger''


En primer lugar, actualice la versión beta de Rails a la última versión .

Compruebe dónde podría estar configurando config.assets.initialize_on_precompile = false ya que eso podría hacer que caiga nuevamente en la resolución de los activos sin piñones (supongo que podría haberlo configurado en falso al leer sobre Rails 3.x en los documentos heroku) .

Establecerlo de nuevo en el valor predeterminado true

ruby config.assets.initialize_on_precompile = true

Luego habilite user-env-compile para la aplicación en heroku:

# Enable precompile support for the app heroku labs:enable user-env-compile # Remove precompiled assets rm -rf public/assets/ git add -u git commit -m ''Remove precompiled assets'' # Now push and everything should just work from now on git push heroku master

Adaptado de este comentario del problema bootstrap-sass .


Establezca config.assets.compile=true en el archivo /config/environments/production.rb :

config.assets.compile=true

Haga clic aquí para saber más sobre la cartera de activos.


No configuré config.assets.compile = true esto tiene implicaciones de rendimiento (pero funciona).

Como se describe aquí: https://.com/a/16882028/647427

When using the asset pipeline, paths to assets must be re-written and sass-rails provides -url and -path helpers (hyphenated in Sass, underscored in Ruby) for the following asset classes: image, font, video, audio, JavaScript and stylesheet. image-url("rails.png") becomes url(/assets/rails.png) image-path("rails.png") becomes "/assets/rails.png" The more generic form can also be used but the asset path and class must both be specified: asset-url("rails.png", image) becomes url(/assets/rails.png) asset-path("rails.png", image) becomes "/assets/rails.png"


Pude solucionar este problema agregando estas dos gemas a mi aplicación

group :production do gem ''rails_log_stdout'', github: ''heroku/rails_log_stdout'' gem ''rails3_serve_static_assets'', github: ''heroku/rails3_serve_static_assets'' end

Agregue eso, ejecute bundle install y luego presione heroku.

Tus estilos deberían comenzar a cargarse.


Simplemente ejecute los bundle exec rake assets:precompile antes de enviar a heroku


Una razón simple para este problema heroico podría ser la mezcla de tipos de archivos css. En mi propia experiencia, esto sucede si extrae una carpeta de activos que contiene los tipos de archivo .css y .scss. Tal vez alguien más pueda explicar por qué sucede esto ... pero, todo lo que necesité fue cambiar el nombre de los archivos .css a .scss. Entonces, todo compilado correctamente y todo estaba bien en el mundo.


config.cache_classes = true config.serve_static_assets = true config.assets.compile = true config.assets.digest = true

configurándolos en config / envirnoments / production.rb solucionó un problema similar para mí con el servidor apache