Rails 在 rails 中使用 Bootstrap 风格的 Confirm Box

kennizchan · 2012年09月28日 · 最后由 nuanshuidai 回复于 2017年08月08日 · 5425 次阅读

原文连接:http://rors.org/demos/custom-confirm-in-rails 里面还提供了 jQuery 和 Noty 的版本

$.rails.allowAction = (link) ->
  return true unless link.attr('data-confirm')
  $.rails.showConfirmDialog(link) # look bellow for implementations
  false # always stops the action since code runs asynchronously

$.rails.confirmed = (link) ->
  link.removeAttr('data-confirm')
  link.trigger('click.rails')
### Boostrap

$.rails.showConfirmDialog = (link) ->
  message = link.attr 'data-confirm'
  html = """
         <div class="modal" id="confirmationDialog">
           <div class="modal-header">
             <a class="close" data-dismiss="modal">x</a>
             <h3>Confirmation Dialog</h3>
           </div>
           <div class="modal-body">
             <p>#{message}</p>
           </div>
           <div class="modal-footer">
             <a data-dismiss="modal" class="btn">Cancel</a>
             <a data-dismiss="modal" class="btn btn-primary confirm">OK</a>
           </div>
         </div>
         """
  $(html).modal()
  $('#confirmationDialog .confirm').on 'click', -> $.rails.confirmed(link)

Also, you may need to use i18n-js for localization

请问一下,着两块内容是写在后缀是 js 的文件吗?还是后缀为 js.erb 还是后缀为 js.coffee。

我写在后缀为 js 文件里,连接:<%=link_to "删除",users_path, rel: "nofollow",:data => { confirm: "Are you sure you want to raise taxes on the poor?",method: "delete",remote: "true"}%>怎么没有起作用啊

bootstrap3应该用这个 gem,更方便。


<%=link_to "删除",user_path(user) , :data => { confirm: "确定删除?",method: "delete"}%>

这个链接走的是 GET 动作,也就是 show, 这个怎么破啊

7788 回复

<%= link_to '删除', user, :confirm => "确认删除吗?", :method => :delete, :class => "btn btn-danger" %>

需要 登录 后方可回复, 如果你还没有账号请 注册新账号