我已经为 Heroku 部署了一个应用程序,但有一个我似乎无法弄清楚的问题。应用程序的 CSSBootstrap-sass
未加载,因此我有一个未设置样式的应用程序。目前这只是静态页面的集合。
我已经按照自述文件中的所有步骤https://github.com/thomas-mcdonald/bootstrap-sass我无法弄清楚并且很可能是我的问题的步骤如下。由于 Rails 中的更改阻止了在 vendor 和 lib 中编译图像,因此您需要将以下行添加到 application.rb:
config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
由于我对编程还是很陌生,第一个问题是我不知道在 application.rb 文件中的何处以及如何添加它。如果有人能帮助告诉我如何以及在何处正确添加上述代码行,我将不胜感激。
第二个问题可能与我正在使用的 gem 有关,但是当我创建应用程序时,sass-rails gem 是使用 ~> 4.0.0.beta1 安装的。根据自述文件,要使用的版本是 3.2。由于这也可能是一个问题,我已经包含了 gem 文件,以防有人确定这是我的问题的根本原因。
提前感谢您提供的任何帮助。
编辑:添加我在第一次尝试时采取的步骤,导致样式在我的本地主机上正常工作,但在代码部署到 heroku 后就不行了。
- 创建了一个新的 rails 4 应用程序(下面的 gem 文件)
- 添加了下面 gem 文件中列出的 bootstrap-sass gem
- 在生产组中将 PG gem 添加到我的 gem 文件中,并将 SQLite3 移至开发和测试(运行 bundle install --without production 按照步骤 2 和 3)
- 为静态主页创建了页面控制器
- 在主页上的 hero-unit 中添加了一个 h1 只是为了查看样式是否有效
- 添加了一个styles.css.scss 文件并包含@import 'bootstrap';到样式表
- 创建 git 存储库,运行我的初始提交并将代码推送到 git
- 创建heroku应用并将master推送到heroku
在第二次尝试中,我在主页上添加了一个导航栏(如果这对任何人都有影响的话)并再次执行第 7 步和第 8 步,但在执行这些步骤之前,我运行了以下代码行。
RAILS_ENV=production bundle exec rake assets:precompile
我最终还是得到了一个在我的本地主机上具有正确风格的网站,但在 Heroku 上没有任何风格。正如我在上面的原始帖子中所指出的,有一行代码需要添加到 application.rb 文件中,由于我不了解如何将这行代码正确地添加到文件中,我没有遵循。
宝石文件:
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'