jQuery插件Rails没有加载

时间:2013-07-14 21:50:49

标签: jquery ruby-on-rails asset-pipeline

我已经this problem before了,我花了两个完整的周末试图找出并理解这个问题。同样的问题继续出现。希望我可以确定这个rails应用程序中究竟发生了什么。

获取jQuery插件pageslide以使用我的rails应用程序。

app/vendor/assets/javascripts中是文件jquery.pageslide.js。 因此,我相应地修改了application.js清单 -

//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require jquery.ui.datepicker
//= require raphael.min
//= require justgage
//= require jquery.purr
//= require best_in_place
//= require lightbox
//= require jquery.cookie
//= require jquery.joyride-2.0.3
//= require jquery.pageslide
//= require modernizr.mq
//= require_tree .

我对jquery.pageslide.css中的app/vendor/assets/stylesheets做同样的事情。该 application.css清单

 *= require jquery.ui.datepicker
 *= require_self
 *= require bootstrap
 *= require front
 *= require lists
 *= require tasks
 *= require lightbox
 *= require joyride-2.0.3
 *= require jquery.pageslide
 */

现在在我的一个视图中使用插件slide out a modal -

视图/列表/ show.html.erb -

<a href="#modal123" class="second_thing">Link text</a>
<div id="modal123" style="display:none">
    <h2>Modal</h2>
    <p>And all the stuff.</p>
    <a href="javascript:$.pageslide.close()">Close</a>
</div>

Javascript角/ lists.js.coffee -

$ ->
  $("a.second_thing").pageslide({ direction: "left", modal: true });

我的初始核对清单 -

- 来自控制台的警告或错误。 - 可以在页面的源代码中找到css和js pagelide文件。 - 在调用javscripts/lists.js.coffee中的pageslide之前确保已加载DOM / jQuery - 我的清单文件的顺序似乎并不表示在加载pageslide.js之前正在执行lists.js.coffee

看起来我错过了一些额外的检查以确保其有效?

其他说明 - 在开发环境中,其他jQuery插件正在工作(兜风,但在带有脚本标签的show.html.erb页面中调用它),我有这一行config.assets.initialize_on_precompile = false来安抚application.rb中的设计。

我很难过,我还应该检查什么?

1 个答案:

答案 0 :(得分:2)

好的,由于@ muttonlamb的评论并重新阅读rails指南中的资产管道部分,我得到了它的工作。

我在show.html.erb文件中添加了这一行,因为pageslide要求源文件包含在body标签中,而我最初的方式只是在头部加载。

<%= javascript_include_tag "jquery.pageslide" %>

注意:我还在app / assets / javascripts下明确添加了jquery.pageslide以进行上述引用。

这似乎不是最友好的表现,所以我很乐意为实现上述目标找到更好的答案。