J'ai déployé une application sur Heroku avec un problème que je ne parviens pas à résoudre. Le CSS de l'application via Bootstrap-sass ne se charge pas, ce qui fait que l'application n'est pas stylisée. Pour l'instant, il s'agit simplement d'une collection de pages statiques.
J'ai suivi toutes les étapes du README sauf une. https://github.com/thomas-mcdonald/bootstrap-sass L'étape que je n'arrive pas à comprendre et qui est très probablement à l'origine de mon problème est la suivante. En raison d'un changement dans Rails qui empêche les images d'être compilées dans vendor et lib, vous devrez ajouter la ligne suivante à votre application.rb :
config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
Comme je suis encore très novice en matière de programmation, le premier problème est que je n'ai aucune idée de l'endroit et de la manière d'ajouter ce code dans le fichier application.rb. J'apprécierais beaucoup si quelqu'un pouvait me montrer comment et où ajouter correctement la ligne de code ci-dessus.
Le deuxième problème pourrait être lié aux gemmes que j'utilise, mais lorsque j'ai créé l'application, la gemme sass-rails était installée avec la version ~> 4.0.0.beta1. Selon le README, la version à utiliser est la 3.2. Comme cela pourrait également être un problème, j'ai inclus le fichier gem au cas où quelqu'un déterminerait que c'est la raison sous-jacente de mon problème.
Merci d'avance pour toute aide que vous pourrez apporter.
Modifier pour ajouter les étapes que j'ai prises lors du premier essai qui a abouti à un style fonctionnant correctement sur mon hôte local, mais pas une fois que le code a été déployé à heroku.
- Création d'une nouvelle application rails 4 (fichier gem ci-dessous)
- Ajout de la gemme bootstrap-sass listée dans le fichier gem ci-dessous
- J'ai ajouté la gemme PG à mon fichier de gemmes dans le groupe de production et j'ai déplacé sqlite3 dans les groupes de développement et de test (j'ai exécuté bundle install --without production en suivant les étapes 2 et 3).
- création d'un contrôleur de pages pour une page d'accueil statique
- Ajout d'un h1 à l'intérieur d'une unité héroïque sur la page d'accueil, juste pour voir si le style fonctionne.
- ajout d'un fichier styles.css.scss et inclusion de @import 'bootstrap' ; dans la feuille de style
- Création du dépôt git, exécution de mon commit initial et poussée du code vers git.
- Création de l'application heroku et poussée du master vers heroku
Lors de la deuxième tentative, j'ai ajouté une barre de navigation à la page d'accueil (si cela fait une différence pour quelqu'un) et j'ai suivi les étapes 7 et 8 à nouveau, mais juste avant de faire ces étapes, j'ai exécuté la ligne de code suivante.
RAILS_ENV=production bundle exec rake assets:precompile
Je me suis quand même retrouvé avec un site qui avait le bon style sur mon hôte local mais aucun style ne fonctionnait sur heroku. Comme je l'ai noté ci-dessus dans mon message original, il y a une ligne de code qui doit être ajoutée au fichier application.rb que je n'ai pas suivi en raison de mon manque de compréhension de la façon d'ajouter correctement la ligne de code dans le fichier.
Fichier Gem
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'