9

在生產模式下使用Foundation 5.0.2.0時出現此問題。Zurb基金會5,modernizr未找到

On Rails,Unicorn,NginX & Ubuntu。

"NetworkError: 404 Not Found - http://mydomain.com/javascripts/vendor/modernizr.js" 
+0

我想'... nu'是混淆的域名? – pjmorse

+0

@pjmorse,是=) – Philip

回答

10

更新14年3月13日

我不在heroku上沒有這個問題,foundation-rails-5.1.1.0。在頭部加入javascript_include_tag "vendor/modernizr"。我可以刪除我複製到供應商目錄中的Modernizr和刪除多餘的線app.js


我在Heroku上同樣的問題,應用程序會崩潰,因爲它找不到modernizr.js。以下是我固定它:從基礎

  • 複製modernizr.js(無論你用捆綁安裝)到供應商/資產/ Java腳本/
  • 在application.js上添加//= require modernizr低於//= require_tree .
  • 從application.html
+0

這對我有效。謝謝! –

+0

這解決了這個問題,但即使我刪除了javascript_include_tag,該錯誤仍然出現。但是modernizr被激活。但它應該被正確解決。但在此之前,這是要走的路。 – Philip

+0

我想我遇到了這樣做的問題,因爲foundation-rails當前從body中調用application.js文件,而不是application.html的頭部,並且我有其他腳本,只有在放在head中時才起作用,預先要求modernizr。 – Ribena

1

嘗試更新您用於Foundation的gem。 This commit from five days ago may help you因爲它聲稱添加缺少modernizr.js文件。

+0

這確實是問題的一部分。但是,成功更新後,它仍然無法正常工作。我甚至將bower_componenets/foundation/js/vendor目錄下的custom.modernizr.js文件複製到rails vendor/assetsjavascripts目錄中。仍然沒有愛。你需要做其他事情才能使它工作嗎? – Joe

+0

我還沒有試過你的配置。我剛剛在基礎知識庫中發現了一個提交了一個解決方案的提交。 – pjmorse

3

我得到了同樣的錯誤,你和我這樣做是爲了解決它:

config/environments/production.rb,設置此:

# Do not fallback to assets pipeline if a precompiled asset is missed. 
config.assets.compile = true 
+2

這有效,但不好的做法。你應該知道_why_資源沒有被預編譯,如果可能的話確保它_does_被預編譯。看到我的答案是一個臨時解決方案。 – Ribena

0

刪除javascript_include_tag "vendor/moderizr"沒有與您正在使用的基礎護欄寶石的版本的問題。事實上,即使是最新的版本(5.0.3.1)也存在這個問題。有號稱解決這個問題拉入請求:https://github.com/zurb/foundation-rails/pull/71但現在另一種選擇是更新你的寶石5.0.3.1這行添加到您的production.rb文件:

config.assets.precompile += %w(vendor/modernizr.js) 
0

請按照說明書的指示,從zurb這裏:

http://foundation.zurb.com/docs/applications.html

這specifiy的Modernizr的腳本包含在head標籤內。我就遇到了這個問題,然後使用在佈局下面的代碼固定它/ application.rb中:

%head 

    %title= title 
    = stylesheet_link_tag "application" 
    = javascript_include_tag "vendor/modernizr" 
    = csrf_meta_tags 
    = favicon_link_tag 
    = yield(:head) 
0

我使用基礎護欄(5.2.2.0),我只需添加解決它:

// =需要

下面Modernizr的

// = require_tree。

應用程序/資產/ JavaScript的

/application.js中