【问题标题】:Heroku not displaying background image/fontsHeroku不显示背景图像/字体
【发布时间】:2016-10-10 22:34:27
【问题描述】:

我在我的第一个 Rails 项目中遇到了一些问题。 在本地,在开发中,我的网站显示完美。字体加载正确,背景图像显示在每一页上。然而,在 Heroku 上,字体不会出现,背景图像也不会出现。

我已尝试运行以下命令
RAILS_ENV=production rake assets:precompile
RAILS_ENV=production rake assets:clobber assets:precompile
RAILS_ENV=production rake assets:clean assets:precompile
heroku run rake assets:precompile
heroku run rake assets:clobber assets:precompile
heroku run rake assets:clean assets:precompile
这些命令都没有改变应用程序的显示方式,我还确保在每次尝试之前清除 cookie,甚至隐身查看;一切都无济于事。

我还尝试更改将背景图像引入项目的方式。
* 我将自定义 css 文件更改为以 css.scss 结尾
* 我将 css 调用从 background: 更改为 background-image:
...这导致背景图像也无法在本地加载
*我将 css 调用从
url('../img/bg.jpg') no-repeat center center fixed; 更改为
image-url('../img/bg.jpg') no-repeat center center fixed;
...再次,所有这些都是导致图像无法在本地加载
我再次尝试将这两者结合起来,但无济于事。

我的 css 文件和图像文件都位于 app/assets 目录内的相应文件夹中。这些文件实际上也显示在 public/assets 文件夹中,但网站仍然不显示字体或背景图像。
我很困惑,坦率地说,我没有想法。有什么我错过的吗?谁能给我更多的想法?

【问题讨论】:

  • 尝试使用 heroku-url.com/path/to/img.jpg 而不是使用 ../img/img.jpg 进行目录引用
  • 导致与其他css更改相同的问题,它不会在本地显示,也不会在生产中显示
  • 哦,抱歉,不知道该说什么

标签: ruby-on-rails ruby heroku asset-pipeline


【解决方案1】:

在你的 gemfile 中添加 gem

rails_12factor

【讨论】:

  • 有这个,但它指定用于生产,这会导致问题吗?
【解决方案2】:

试试这个............

默认情况下,Rails 4 不会为您的资源提供服务。要启用此功能,您需要进入 config/application.rb 并添加以下行:

config.serve_static_assets = true

或者,您可以通过在 Gemfile 中包含 rails_12factor gem 来获得相同的结果:

gem 'rails_12factor', group: :production

此 gem 将配置您的应用程序以提供静态资产,因此您无需在配置文件中手动执行此操作。 请看这里https://github.com/heroku/rails_12factor#rails-4-serve-static-assets

希望这对你有用。

【讨论】:

    猜你喜欢
    • 2016-09-20
    • 2016-09-17
    • 2012-09-12
    • 2010-12-19
    • 2012-10-16
    • 2012-12-11
    • 2016-08-19
    • 2016-06-11
    • 2015-12-10
    相关资源
    最近更新 更多