0

我的Ruby on Rails 3.2.1 APP在Heroku上傳時不顯示圖片,我真的不知道問題出在哪裏。在本地主機:3000所有工作都督。我做了一個測試,並在內容中添加了一張圖片,而不是在Nivo滑塊標籤下,並且都是完美的,但在Nivo下我的應用程序不顯示任何內容。Ruby on Rails 3.2.1不會在Heroku下的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> 

production.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) 
+0

那麼你的文件存儲在你的應用程序?您是將它們添加到您的應用程序,還是將它們上傳到應用程序? –

+0

我將它們添加到我的應用程序。文件位於app/assets/images文件夾下。 – RydelHouse

回答

1

在配置/環境/ production.rb,看看這個配置:

config.serve_static_assets 
+0

啓用'config.server_static_assets'後,heroku顯示這個錯誤:'100.JPG沒有預編譯' – RydelHouse

+0

@RydelHouse嗨,你可以發佈production.rb文件(特別是config.assets ....)。你目前在什麼堆棧上,在heroku中(運行:「heroku stack」來查找)。你有沒有預編譯你的資產在開發中?我在某段時間後面臨類似的問題。我從這裏找到了一些幫助heroku doc Hishalv

+0

我更新了我的問題。我不會在開發中預編譯資產。你能再次發佈這個鏈接嗎?有些東西不適合它。 – RydelHouse

1

我production.rb看起來是這樣的(值得一試):

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

我發現這個工作對我來說,因爲我預編譯在發展中的資產(我按照文章here和我使用選項1.在開發中進行本地預編譯)。這是我做

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

「公共/資產將創建目錄,這個目錄,你會發現一個manifest.yml其中包括編制資產MD5SUMS裏面。」 - 來源:Heroku的文檔

2. Then save to git and push to heroku 

看看你是否仍然可以在生產中應用同樣的錯誤(如果是的話,我不知道該怎麼做)。

在我的應用程序,每當我預編譯的資產在本地這使我的發展樣式表和javascript發瘋:(爲了解決去開放的環境/ development.rb和改變這一行:

config.assets.debug = true 

config.assets.debug = false 

同時刪除資源預編譯在本地創建的公共/資產目錄。重新啓動服務器,希望它可以再次運行。找出正確的(資產管道)似乎是一件棘手的事情,但希望這會有所幫助。

+0

非常感謝您的幫助,但這並沒有解決我的問題。 :( – RydelHouse

+0

@RydelHouse謝謝,值得一試。資產管道有時可能會非常棘手,只是隨意使用它,希望它能起作用 – Hishalv