0

我的Ruby on Rails 3.2.1 APP在Heroku上上传时不显示图片,我真的不知道问题出在哪里。在 localhost:3000 上一切正常。我做了一个测试并在内容中添加了一张图片,不是在 Nivo 滑块标签下,一切都很完美,但在 Nivo 下我的应用程序没有显示任何内容。

Nivo 滑块标签:

<div class="slider-wrapper theme-default">
    <div class="ribbon"></div>
    <div id="slider" class="nivoSlider">
        <%=image_tag "/assets/birz.JPG"%>
        <%=image_tag "100.jpg"%>
        <%=image_tag "102.jpg"%> 
        <%=image_tag "103.jpg"%> 
        <%=image_tag "104.jpg"%> 
        <%=image_tag "105.jpg"%> 
        <%=image_tag "106.jpg"%> 
        <%=image_tag "107.jpg"%> 
        <%=image_tag "108.jpg"%> 
        <%=image_tag "109.jpg"%> 
        <%=image_tag "110.jpg"%> 
        <%=image_tag "111.jpg"%> 
        <%=image_tag "112.jpg"%> 
    </div>
</div>

生产.rb

  # Disable Rails's static asset server (Apache or nginx will already do this)
  config.serve_static_assets = true

  # Compress JavaScripts and CSS
  config.assets.compress = true

  # Don't fallback to assets pipeline if a precompiled asset is missed
  config.assets.compile = false

  # Generate digests for assets URLs
  config.assets.digest = true

Heroku 堆栈:

  aspen-mri-1.8.6
  bamboo-mri-1.9.2
  bamboo-ree-1.8.7
* cedar (beta)
4

2 回答 2

1

我的 production.rb 看起来像这样(值得一试):

  config.serve_static_assets = false
  config.assets.compress = true
  config.assets.compile = true
  config.assets.digest = true

我发现这对我有用,因为我在开发中预编译了资产(我已经按照这里的文章 ,我使用选项 1. 在开发中在本地预编译)。这就是我所做的

1. First precompile assets in development run: "bundle exec rake assets:precompile" 

“将创建一个 public/assets 目录。在此目录中,您将找到一个 manifest.yml,其中包含已编译资产的 md5sum。” - 来源:heroku 文档

2. Then save to git and push to heroku

看看你在生产应用程序中是否仍然遇到同样的错误(如果是,那么我不知道该怎么做)。

在我的应用程序中,每当我在本地预编译资产时,这都会导致我的开发样式表和 javascript 发疯:(。要解决打开 environment/development.rb 并更改此行:

config.assets.debug = true

config.assets.debug = false

还要删除资产预编译在本地创建的 public/assets 目录。重新启动服务器,希望它应该再次工作。正确弄清楚(资产管道)似乎是一件棘手的事情,但希望这会有所帮助。

于 2012-05-12T10:57:08.583 回答
1

在 config/environments/production.rb 上,检查以下配置:

config.serve_static_assets
于 2012-05-12T00:05:21.767 回答