【发布时间】:2018-12-18 22:41:45
【问题描述】:
在 Rails 5.1 之前,我能够使用以下内容通过引导样式自定义确认对话框:
$ ->
$.rails.allowAction = (link) ->
return true unless link.attr('data-confirm')
$.rails.showConfirmDialog(link)
false
$.rails.confirmed = (link) ->
link.removeAttr('data-confirm')
link.trigger('click.rails')
$.rails.showConfirmDialog = (link) ->
message = link.attr 'data-confirm'
html = """
<div class="modal" id='confirmationDialog'>
<div class="modal-dialog">
<div class='modal-content'>
<div class='modal-header'>
<a class='close' data-dismiss='modal'>×</a>
<h3>#{message}</h3>
</div>
<div class='modal-body'>
<p>#{link.data('body')}</p>
</div>
<div class='modal-footer'>
<a data-dismiss='modal' class='btn btn-default'>#{link.data('cancel')}</a>
<a data-dismiss='modal' class='btn btn-danger confirm'>#{link.data('ok')}</a>
</div>
</div>
</div>
</div>
"""
$(html).modal()
$('#confirmationDialog .confirm').on 'click', -> $.rails.confirmed(link)
对 rails_ujs 的更改导致代码停止工作?我看过一些关于为 SweetAlert2 定制它的文章,但没有看到 bootstrap 或其他定制选项。
谢谢。
【问题讨论】:
-
jquery 不再与 rails 捆绑在一起,您是否尝试过将 jquery-ujs 包含到 Gemfile 中?
-
听说过,没试过,但是如果有rails_ujs abd jqueryUjs,事件会被处理两次
-
找到了可以执行此操作的 gem,gem 'data-confirm-modal'
标签: javascript ruby-on-rails coffeescript ruby-on-rails-5.1 rails-ujs