删除确认消息提前关闭在Rails应用程序
Delete Confirmation Message Closes Prematurely in Rails App
我有一个coffeescript文件,它覆盖了rails确认弹出窗口,而是使用引导模式来确认删除操作。
#delete.js.coffee
ready = ->
$.rails.allowAction = (element) ->
message = element.data('confirm')
return true unless message
$link = element.clone()
.removeAttr('class')
.removeAttr('data-confirm')
.addClass('btn').addClass('btn-danger')
.html("Delete")
modal_html = """
<div class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 class="modal-title">#{message}</h4>
</div>
<div class="modal-body">
<p>Be certain, sony.</p>
</div>
<div class="modal-footer">
<a data-dismiss="modal" class="btn">Cancel</a>
</div>
</div>
</div>
</div>
"""
$modal_html = $(modal_html)
$modal_html.find('.modal-footer').append($link)
$modal_html.modal()
return false
$(document).ready(ready)
$(document).on('page:load', ready)
上面的代码工作正常,除非它是从一个表调用时,模态弹出正确,但随后迅速关闭。这个表有一个可点击的行功能,它链接到show视图。
#users.js.coffee
ready = ->
$("tr[data-link]").click ->
window.location = @dataset.link
return
return
$(document).ready ready
$(document).on "page:load", ready
下面是表体,这里有一个可点击的tr和一个用于删除用户的嵌入链接:
#index.html.erb
<tbody>
<% @users.each do |user| %>
<tr data-link="<%= user_path(user) %>">
<td><%= user.name %></td>
<td><%= user.email %></td>
<td><%= user_status(user) %>
<% unless current_account.owner == user || user.invitation_accepted? %>
<%= form_for(User.new, url: user_invitation_path) do |f| %>
<%= f.hidden_field :email, :value => user.email %>
<%= f.submit 'Resend Invite', class: 'btn btn-default' %>
<% end %>
<% end %>
</td>
<td>
<% unless current_account.owner == user %>
<%= link_to '', user_path(user), data: {confirm: 'Are you sure you want to delete this user, no take backsies?'}, method: :delete, :class => 'glyphicon glyphicon-remove text-danger' %>
<% end %>
</td>
</tr>
<% end %>
</tbody>
这是rails 4应用中启用了turbollinks的一部分
两个点击事件绑定到删除按钮,当它在表内。
将click事件绑定到表行
时可以忽略删除按钮ready = ->
$("tr[data-link]").not('[data-confirm]').click ->
window.location = @dataset.link
return
return
相关文章:
- angularjs+rails应用程序中未显示模板
- 滚动到Rails 4应用程序中的顶部jQuery
- React Rails应用程序中动态子项的密钥分配问题
- 为什么Turbolinks不能正常工作?Rails应用程序
- 为什么Highchart在我的rails应用程序中加载了两次?(未捕获的Highcharts错误#16)
- 为我的rails应用程序显示javascript弹出消息
- 如何在rails应用程序中测试AJAX加载的内容
- Ruby On Rails应用程序与angularJS关于AJAX
- Ember.js+传单+rails(使用Javascript MVC创建rails应用程序并打开源代码映射)
- 在我的Rails应用程序中使用Stripe对卡充电时出现问题
- Basecamp的Trix WYSIWYG编辑器gem没有在Rails 4应用程序中保存文件附件
- Rails 应用程序(狂欢) - 突然的“未捕获的类型错误”
- 如何在咖啡脚本中识别提交按钮,Rails 3应用程序
- 如何使用ScriptTags开发用于shopify的rails应用程序
- Rails 4 应用程序 - Heroku / Cloudfront - 资产无法从源正确服务
- 如何在 Rails 应用程序中使用任何 JavaScript 代码
- 如何在 Rails 应用程序中向 Galleria 添加自定义描述
- 如何使用Bootstrap和Heroku为Rails应用程序添加隐藏的播放音频
- 是否有人在生产 Rails 应用程序中使用 Babel/6 到 5
- Rails应用程序中的每个javascript文件都需要.on('page:change',初始化)吗?