0

我查看了互联网并找到了有关此问题的一些说明:

在 Rails 3 中使用 jQuery 插件

http://ridingwithrails.wordpress.com/2011/12/28/rails-3-1-installing-lightbox-jquery-plugin/

这正是我在 Rails 中安装 Jquery 插件的方法。我永远无法访问控制台中的新方法。(我收到错误,该功能不存在)

1 - 我下载插件并将其放入:

vendor/assets/javascripts/plugin.js

2 - 我在 application.js 中添加文件的路径:

//= require jquery
//= require jquery_ujs
//= require plugin 
//= require_tree . 

3 - 如果适用,我对 css 做同样的事情。(在 css 文件夹中)

我尝试过的一些插件是: jquery-cookie jquery-star-rating 但它永远不会起作用。我做错了什么?

谢谢你的回答

编辑:当我检查我的视图的来源时,插件的 *.js 文件包括在内,但是每当我尝试使用这些插件中的函数时,我都会得到例如:

[17:18:59,927] TypeError: $.cookie is not a function 
4

1 回答 1

4

尝试以下方法来帮助调试问题所在:

  1. 在 plugin.js 文件的顶部定义一个全局函数并尝试从控制台调用它。(你可以在这里调用一个 alert() 并得到类似的结果)。如果您能够调用此函数,则插件文件已包含在您声称的内容中。如果没有,那么您的资产路径可能已关闭,因此请尝试在 config/application.rb 中添加这样的行

    config.assets.paths << Rails.root.join("Vendor", "assets", "javascripts")
    
  2. 在 javascript 控制台打开的情况下,在 chrome 或 firebug 中打开您的页面,并确保没有 javascript 错误。错误可能会阻止插件正确加载。

  3. 尝试使用最简单的插件(例如来自http://docs.jquery.com/Plugins/Authoring的插件),如果可行,那么问题出在您尝试使用的特定插件上。

  4. 尝试将插件包装在文档就绪块中,因为它可能需要 DOM 就位(注意:并不总是推荐这样做,因为它可能导致页面加载未优化,但值得一试)

    $(function() {
      // put the plugin code here
    });
    
  5. 您是否正在加载$在其命名空间中使用的其他 javascript,例如原型?

  6. 这是一个普通的 Rails 应用程序,还是一个大型复杂的应用程序?如果是后者,请查看您是否可以在最小的失败示例中重现该问题。

于 2012-08-11T13:12:13.107 回答