简短版:jquery_ujs似乎与Kaminari的AJAX支持发生冲突,我不知道为什么。
在我的Rails 4应用程序中,我在application.js中有以下行:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap
//= require_tree .
如果我删除jquery_ujs,那么以下代码将停止工作;它开始发送GET请求而不是DELETE请求,用户通过发送GET请求只会收到资源的展示页面。
<%= link_to 'Delete Horse', horse, method: :delete, data: { confirm: 'Are you sure?' } %>
但是如果我留下jquery_ujs,使用AJAX的Kaminari将停止工作....
<%= paginate @horses, :remote => true %>
当单击时不起作用(尽管已呈现 HTML 中的 HREF 标签是正确的)。
如果我从 paginate @horses 链接中删除 :remote => true,则链接开始工作。但是,A)基于用户体验的考虑,我希望 AJAX 起作用,B)我希望了解为什么会发生这种情况。
Processing by HorsesController#index as JS
。在没有:remote => true
的情况下,它调用Processing by HorsesController#index as HTML
。后者有效,前者无效。 如果我从application.js中删除jquery_ujs,则带有:remote => true
的失败案例将在请求中从as JS
更改为as HTML
。因此,将jquery_ujs放在那里会使AJAX请求从as HTML
更改为as JS
,然后失败。 - NBarnes