加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-4 – 为什么遥控器:真实并且确认:’你确定吗?

发布时间:2020-12-17 02:47:32 所属栏目:百科 来源:网络整理
导读:我一直在与Rails 4和UJS进行斗争,并注意到Rails 4.1的行为(特别是rails-ujs)并不像我期望的那样. 当使用带有确认对话框的远程链接时,UJS驱动程序会在确认弹出窗口被批准之前发送XHR(使确认弹出窗口毫无意义).我本来希望Rails能够处理这些选项的组合,但是我必
我一直在与Rails 4和UJS进行斗争,并注意到Rails 4.1的行为(特别是rails-ujs)并不像我期望的那样.

当使用带有确认对话框的远程链接时,UJS驱动程序会在确认弹出窗口被批准之前发送XHR(使确认弹出窗口毫无意义).我本来希望Rails能够处理这些选项的组合,但是我必须编写自己的javascript来执行确认弹出并挂钩到“ajax:beforeSend”事件以防止请求过快触发.

这是我没有工作的东西(请求立即被激活,没有等待确认对话框返回true):

= link_to 'Ajax Button',app_path(resource),method: :delete,remote: true,id: 'ajax_link',disable_with: 'Wait...',confirm: 'Are you sure?'

这就是我现在所做的工作:

= link_to 'Ajax Button',disable_with: 'Wait...'

$->
  $("a[data-remote]#ajax_link").on 'ajax:beforeSend',(xhr,settings) ->
    return confirm("Are you sure?")

只是我或不应该rails / jquery-ujs处理上述选项组合并等待确认弹出窗口?在过去,Rails 3和之前,远程链接/按钮在AJAX和远程请求时通常“正常工作”,但Rails 4似乎使用AJAX需要更多的技巧,这是以前需要的.

还有其他人用Rails 4.1体验过这个吗?还有其他解决方案吗?

解决方法

以下应该有效

= link_to 'Ajax Button',data: { disable_with: "Wait..." },data: { confirm: 'Are you sure?' }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读