【问题标题】:Rails 4, Heroku, Zurb Foundation 5Rails 4、Heroku、Zurb 基金会 5
【发布时间】:2014-01-22 08:42:11
【问题描述】:

我正在使用我在 Heroku 上托管的 Foundation 5 开发一个网站。昨天,所有依赖于 javascript 的 Foundation 小部件都停止了在 Heroku 上的工作。在我的情况下,这意味着我所有的模态和我的轨道滑块。它仍然可以在我的本地机器上完美运行。

我总是在使用 git 推送到 Heroku 之前预编译我的资产(rake assets:precompile)并提交编译后的版本。

我已经尝试在 Foundation 版本 5.0.2.0 和 5.0.3.1 以及其他一些东西之间进行升级和升级,但我什至不知道从哪里开始。我也不太擅长 javascript 调试。

Production.rb
  # Disable Rails's static asset server (Apache or nginx will already do this).
  config.serve_static_assets = true

  # Compress JavaScripts and CSS.
  config.assets.js_compressor = :uglifier
  # config.assets.css_compressor = :sass

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

  # Generate digests for assets URLs.
  config.assets.digest = true

  # Version of your assets, change this if you want to expire all your assets.
  config.assets.version = '1.0'

-

application.js
//= require jquery
//= require jquery_ujs
//= require jquery.touchcarousel-1.2.min
//= require foundation
//= require jquery.ui.button
//= require jquery.tap.min
//= require modernizr

//= require jquery-fileupload/basic
//= require_tree .

$(function(){ $(document).foundation(); });

//$('#TjuvkikModal').foundation('reveal', 'open');
//$('#ExempelobjektModal').foundation('reveal', 'open');

【问题讨论】:

  • 我看到您添加了 jquery.turbolinks,但没有添加 turbolinks。尝试删除 jquery.turbolinks 包括,它可能会弄乱你的 jquery
  • 你是对的 - 我删除了 Turbolinks,所以它不会妨碍它,但我错过了那个。谢谢 - 但仍然无法在 Heroku 上工作。
  • 我在application.js 中看不到require_self$(document).foundation(); 有人打电话吗?
  • Ben 在看到您的评论之前,我开始回答下面的问题。这完全有道理(让我成为白痴)。今晚去测试一下,然后我会回复你的!
  • 有趣的是它可以在我的本地机器上运行 - 你知道为什么吗?

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


【解决方案1】:

我终于找到了解决这个问题的方法。似乎 Foundation 不是由以下人员初始化的:

$(function(){ $(document).foundation(); });

在我的 application.js 中(见上文)。当我将它作为脚本标签粘贴到 applicaton.html 的末尾时,如下所示:

<%= javascript_include_tag "application" %>
<script type="text/javascript">$(function(){ $(document).foundation(); });</script>
</div>

它突然开始工作了。这对我来说似乎很疯狂。 script 标签是在 application.js 之后读取的下一行代码。为什么这会有什么不同?并且只在 Heroku 上?如果有人知道答案,请发表评论并阐明!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多