安装JQuery时,为什么我的“删除”链接会中断?

我有一个可以创建和删除产品的Rails 3应用程序。 索引页面列出了所有产品。 列表中每个产品旁边都有一个删除链接:

 :delete, :title => "Delete" %> 

这在HTML中看起来像这样:

 Delete 

这一直很好。

我已经达到了我想在我的应用程序中安装JQuery的程度。 我按照几个网页上提供的步骤(例如, 这个或这个 )。

安装JQuery后,上面的“删除”链接中断。 Rails尝试处理show动作,而不是处理ProductsControllerdestroy动作!

我的猜测是它与Web浏览器本身不能发送DELETE请求这一事实有关,因此Rails使用JavaScript“伪造”这样的请求,这就是为什么我尝试安装JQuery 之前有以下行:

  

编辑:在JQuery安装过程中的某些东西必须使得用于“伪造” DELETE请求的Javascript不再起作用,从而导致调用show动作。 但究竟发生了什么我不知道……

有人有主意吗? 谢谢。

仔细检查您的JavaScript文件的包含顺序。 具体来说,必须在jQuery Rails驱动程序之前加载jQuery(请参阅以下行: http://github.com/BinaryMuse/rails-book/blob/master/app/views/layouts/application.html.haml#L6-L7 ):

 <%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" %> <%= javascript_include_tag "rails" %> 

(这假设您使用来自http://github.com/rails/jquery-ujs/blob/master/src/rails.js的jQuery驱动程序替换了rails.js的内容)。

另外,尝试包含更新版本的jquery,例如1.4.4:

 <%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js","rails" %>