2014-02-19 40 views
1

我想在我的rails 4應用程序中使用基金會5軌道滑塊,它在開發環境中完美工作,但在Heroku上不能生產。當我使用Chrome的開發者工具查看發生了什麼時,它說找不到foundation.js。在頁面上顯示第一張圖片,但導航控件和下一張圖片不顯示。基金會軌道滑塊不在生產

我通過'foundation-rails'gem(5.0.2)使用Foundation。我試過手動將foundation.js文件放入vendor/assets/javascripts文件夾以及app/assets/javascripts文件夾,但都不起作用。

我applications.js文件看起來像這樣:

//= require jquery 
//= require jquery_ujs 
//= require turbolinks 
//= require_tree . 
//= require foundation 
$(function(){ $(document).foundation(); }); 

,我有我的application.html頭以下:

<%= javascript_include_tag "application" %> 
<%= javascript_include_tag "vendor/modernizr" %> 
<%= javascript_include_tag "//code.jquery.com/jquery-1.10.2.min.js" %> 

和身體:

<%= javascript_include_tag "foundation" %> 

我已經嘗試過多種方式,例如從頭部移除應用程序js引用並將其放入主體,移除來自application.js的基礎JS引用和application.html的主體,但沒有一個可以工作。

回答

1

你如何預編譯你的資產?據Heroku's Rails Asset Pipeline docs你要麼需要在本地運行

$ bundle exec rake assets:precompile 

,然後推到Heroku的,或(這是我的建議和使用,我自己),運行以下命令啓用Heroku Labs: user-env-compile

$ heroku labs:enable user-env-compile -a myapp 

這會告訴Heroku每次推到Heroku時都會預編譯您的資產(這會削減您簽入的代碼)。

此外,如果通過的application.js包括他們,你不需要jQuery的,也不基金會javascript_include_tags。

0

是除了軌道之外的其他基礎工作?如果沒有,嘗試從html頭中刪除modernizr腳本,將modernizr文件移動到config/vendor/javascript中,在application.js文件中的樹之前的require列表中添加modernizr,預編譯您的資源並再次推送到heroku。爲我工作