0

我整晚都在用头撞墙,试图弄清楚为什么 jQuery Facebox 插件在我的 Rails 应用程序中不起作用。这是我得到的错误,从 doc ready 中调用它:

$.facebox("<a href='#'>hello</a>");

我觉得这与资产管道有关,但不确定。这就是我设置所需文件的方式:

vendor/assets/images/facebox/
./loading.gif
./closelabel.png

vender/assets/javascripts/facebox/
./facebox.js

vender/assets/stylesheets/facebox/
./facebox.css

然后在我的application.css

...
*= require_self
 *= require_tree .
 *= require_tree ../../../vendor/assets/stylesheets/.
...

然后在我的application.js

...
//= require jquery
//= require jquery_ujs
//= require_tree ../../../vendor/assets/javascripts/.
//= require_tree .
...

抛出这个 javascript 错误:

TypeError: Object function ( selector, context ) {// The jQuery object is actually just the init constructor 'enhanced'return new jQuery.fn.init( selector, context );} has no method 'facebox'
4

1 回答 1

0

只需使用facebox-rails gem,您的生活就会大大改善。

由于这花了我 2 小时的挫败感试图弄清楚,我想我会发布我的解决方案,这花了我 2 分钟的时间来设置。

我也非常喜欢将其放入 gem 中的解决方案,因为您不必经历将所有文件拆分并确保将它们放在正确的位置并配置路径的痛苦。因为我在我所有的项目中都使用了这个弹出窗口,所以它真的出现在 andy 中。说真的,感谢制作这颗宝石的人!

于 2012-06-23T04:07:05.107 回答