新手问题 Rails 如何在 create 的时候有个 confirm 确认框?

xiaobai2 · 2016年10月01日 · 最后由 xiaobai2 回复于 2016年10月09日 · 2878 次阅读

基本逻辑是这样的: 当点击 create 的按钮时弹出 confirm,然后根据某个列的属性判断是否新建

if(confirm("你确定新建吗?")){
  .......
  alert('已创建')
}else{
  .......
  alert('未撤销')
}

具体 if 和 else 块儿里边我该做哪些操作?可以实现这个需求

javascript 做的事情. = f.submit "save", data: { confirm: "Are you sure you want to submit this form?" } See Unobtrusive scripting support for jQuery and submit_tag

本质上应该是

$('#my-form').submit(function() {
  return confirm('Are you sure?');
})

data-confirm 的核心实现是由 jquery-ujs 实现的

https://github.com/rails/jquery-ujs

#1 楼 @flowerwrong @huacnlee 我知道这个用法,其实我想问的是,当点击新建按钮时 render 到了 new 页面之后属性值已经做了判断 (这时候肯定是空的),重点是怎么在点击保存的时候重新判断我这个属性的 true 或者 false 来判断是否弹出 confirm,也就是我输入值之后在判断一次(二次判断) 如下: new.html.erb

<% status = @model.a.present? && @model.b.to_time <= DateTime.current %>
.....
<%= f.submit params[:action] == 'new' ? '保存' : '修改', data: { confirm: status ? "你确定提交吗?" : ""}, class: 'btn btn-info back_submit' %>

大概就是上边这样的逻辑,但是这样搞肯定不行的

xiaobai2 关闭了讨论。 10月10日 17:27
需要 登录 后方可回复, 如果你还没有账号请 注册新账号