Link_to RoR有多个警报框

时间:2015-03-10 22:09:13

标签: ruby-on-rails link-to

(RoR新手)我的erb文件中有一个link_to。

<%= link_to 'Delete', workflows_path+"/destroy/#{workflow.id}?folder=#{@folder_id}", :confirm => "Are you sure you want to delete '#{workflow.name}'?"%>

一旦询问确认消息,这将提示。

我想在确认(按下确定)上提示另一个警告框,询问“是否要删除子文件夹?”,带有“是”或“否”选项,并将其作为布尔值传递给我的控制器(或任何类型)

(如果他们选择“否”,我会将子文件夹重定向到父目录)

有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

要进行双重确认,您需要一些javascript。

为您的链接提供CSS类,例如&#39; double-check-workflows&#39;

然后在您的网页上添加javascript

$(document).ready(function(){
  $("a.double-check-workflows").on('click', function(){

    if confirm("first thing to ask"){
      target_url = $(this).attr("href")
      if confirm("second thing to ask"){
        target_url = target_url+"&your_other_param=1"
      }

      window.location = target_url

    }else{
      return false
    }

  })
})

从链接助手中删除:confirm选项虽然导致js wil句柄

修改

你应该真的使用routes helper来创建完整的url,而不是像你发布的那样将params添加为字符串

然后你可以添加一个&#39; delete_sub_folders&#39; param默认为false / 0然后在js中用.replace()替换它,如果第二次确认返回true则将其设置为true / 1