【问题标题】:Foundation Orbit Slider not working in production基础轨道滑块无法在生产中工作
【发布时间】:2014-02-19 14:53:26
【问题描述】:

我正在尝试在我的 rails 4 应用程序中使用 Foundation 5 Orbit 滑块,它在开发环境中完美运行,但在 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 和 application.html 的正文中删除基础 JS 引用,但似乎没有一个工作。

【问题讨论】:

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


    【解决方案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 或 Foundation,则不需要 javascript_include_tags。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-01
        相关资源
        最近更新 更多