1

我试图让 Foundation 5 javascript 组件(其中任何一个)在 Rails 4.2.0 应用程序中工作,但我尝试过的任何东西似乎都不起作用。我正在使用foundation-railsgem,并按照文档中的步骤进行安装

为了测试 Foundation JS 的工作原理,我插入了工具提示的基本 HTML,在此处解释,以显示工具提示链接:

<span data-tooltip aria-haspopup="true" class="has-tip" title="Tooltips are awesome, you should totally use them!">extended information</span>

在页面上,工具提示链接的样式正确,但是,工具提示功能本身不起作用并回退到系统替代文本,如下所示:

工具提示图片

我的第一个猜测是我包含 Foundation JS 文件的方式有问题,但是,我已经仔细检查了我的应用程序中页面的源代码,它们似乎都在那里:

基础 JS 包括

我还验证了$(document).foundation()它包含在 Rails 应用程序的 application.js 中:

应用程序.js

Foundation 的 JS 组件仍然不起作用,即使我$(function(){ $(document).foundation(); });在它影响的元素之前放置了一个脚本标记。

我该如何调试呢?有什么我可以在 JS 控制台中运行来弄清楚发生了什么吗?

4

2 回答 2

2

事实证明,在我申请赏金后,我能够立即解决这个问题!似乎这个问题在某种程度上与 Rails 如何在开发环境中缓存资产有关(本文对此进行了一些说明)。

基本上,我最近将Foundation 4升级到Foundation 5,我没有意识到,但是所服务的SCSS资产仍然是Foundation 4的资产,而不是Foundation 5的资产。我在重新启动计算机时意外发现了这一点,所有突然的工具提示起作用了。

如果其他人有这个问题,我会尝试通过运行命令来擦除 rails 缓存rake tmp:clear并查看是否可以修复它。

于 2015-03-24T23:22:05.083 回答
1

是的,你可以添加

config.serve_static_files = true

在你的 development.rb 配置文件中并确保你没有预编译,这使得 rails 每次都从原始位置加载资产,这反映了即时进行的更改。

于 2015-03-31T13:01:39.253 回答