Foundation Orbit Slider不在生产中工作

时间:2014-02-19 14:53:26

标签: ruby-on-rails heroku zurb-foundation orbit

我正在尝试在我的rails 4应用程序中使用Foundation 5 Orbit滑块,它在开发环境中完美运行,但在Heroku上没有生产。当我使用Chrome的开发人员工具查看正在发生的事情时,它说它无法找到foundation.js。在页面本身上显示第一个图像,但导航控件和下一个图像不显示。

我通过'foundation-rails'gem(5.0.2)使用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和application.html的主体中删除基础JS引用,但似乎没有工作。< / p>

2 个答案:

答案 0 :(得分:1)

您如何预编制资产?根据{{​​3}}您需要在本地运行

$ bundle exec rake assets:precompile

然后推送到heroku,或者(这是我推荐和使用的,我自己),通过运行此命令启用Heroku's Rails Asset Pipeline docs

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

这将告诉Heroku每次推送到Heroku时都会为您预编译资产(这会减少您签入的代码)。

此外,如果您通过application.js包含它们,则不需要javascript_include_tags用于jQuery,也不需要Foundation。

答案 1 :(得分:0)

除了轨道以外还有其他一切为基础工作吗?如果没有,尝试从html头删除modernizr脚本,将modernizr文件移动到config / vendor / javascript,在application.js文件中的树之前的需求列表中添加modernizr,预编译资产并再次推送到heroku。为我工作