我正在尝试在我的rails 4应用程序中使用Foundation 5 Orbit滑块,它在开发环境中工作得很好,但在Heroku上的生产环境中就不行了。当我使用Chrome的开发者工具查看是怎么回事时,它显示找不到foundation.js。在页面本身上,第一个图像显示,但导航控件和下一个图像不显示。
我通过' Foundation -rails‘gem (5.0.2)使用foundation。我尝试将foundation.js文件手动放置到供应商/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引用,但似乎都不起作用。
发布于 2014-02-23 06:52:32
你是如何预编译你的资产的?根据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。
发布于 2014-11-10 04:54:27
除了轨道之外,其他一切都在为foundation工作吗?如果不是,试着从html头文件中删除现代的脚本,将现代的文件移动到配置/供应商/javascript中,在application.js文件的树之前的要求列表中添加现代,预编译你的资源并再次推送到heroku。对我很管用
https://stackoverflow.com/questions/21884056
复制相似问题