link_to with :method => :delete
正在执行 GET 请求。一旦我禁用Turbolinks,它就会再次运行。我已经用尽了可能的解决方案,包括:
1)确保帮助者生成正确的HTML
<a data-confirm="Are you sure?" rel="nofollow" data-method="delete" href="/admin/organizations/1">Delete</a>
2)尝试启用Turbolink并在链接<{p>}上尝试data-no-turbolinks
3)确保jquery和jquery-ujs都被加载
<script src="/assets/jquery/dist/jquery.self-a714331225dda820228db323939889f149aec0127aeb06255646b616ba1ca419.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/jquery-ujs/src/rails.self-d456baa54c1fa6be2ec3711f0a72ddf7a5b2f34a6b4f515f33767d6207b7d4b3.js?body=1" data-turbolinks-track="true"></script>
4)使用和不使用jquery.turbolinks
5)确保控制台中没有javascript错误
6)确保使用data-turbolinks-track
将js文件加载到头部(它是唯一包含的javascript)
javascript_include_tag "application", "data-turbolinks-track" => true
7)检查路线和请求日志(正在执行 GET 而非删除)
21:56:40 web.1 | Started GET "/admin/organizations/1" for 127.0.0.1 at 2015-11-17 21:56:40 -0500
8)确保$(document)
绑定'page:change'
我不想使用button_to
(这确实有效)。任何其他建议将不胜感激。
答案 0 :(得分:0)
这是对js文件中的单击处理程序的e.stopPropagation()调用。我不知道为什么会导致问题,我有其他调用stopPropagation,这是在页面(标题)的不同部分,而不是调用删除链接(主体)。所以解决但仍然困惑。
答案 1 :(得分:0)
我遇到了类似的问题,但通过在 application.js
中将//= require jquery_ujs
替换为 //= require rails-ujs
已解决