Rails中的Bootstrap模式 - 关闭并重新打开并传递参数

时间:2015-08-11 16:24:22

标签: jquery ruby-on-rails

我展示了带有一些复选框的引导模式:

    System.out.println("opening connection");
    URL url = new URL("https://www.capitaliq.com/CIQDotNet/Filings/DocumentRedirector.axd?versionId=1257051021&type=pdf&forcedownload=false");
    InputStream in = url.openStream();
    FileOutputStream fos = new FileOutputStream("/Users/HIDDEN/Desktop/fullreport.pdf");

    System.out.println("reading file...");
    int length = -1;
    byte[] buffer = new byte[1024];// buffer for portion of data from
    // connection
    while ((length = in.read(buffer)) > -1) {
        fos.write(buffer, 0, length);
    }
    fos.close();
    in.close();
    System.out.println("file was downloaded");

还有一个OK按钮和一个取消按钮。

当用户打开模态时,他们可以选择一些复选框。但是我遇到了一个问题,其中params是零:

  1. 打开模态
  2. 检查一些复选框
  3. 取消模态
  4. 重新打开模式(相同的复选框将被检查,因为它们被记住')
  5. 点击确定
  6. 调用Controller操作时, <span class="pull-right"> <%= check_box_tag 'role_ids[]', "all", false, class: 'sel' -%><span class="right-label"><%= t('.suspend.suspend_all_roles') %></span><br> <% UserRole.all.each do |role| %> <%= check_box_tag 'role_ids[]', role.id, false,class: 'sel' -%><span class="right-label"><%= role.user_role %></span><br> <% end %> </span> params[:role_ids]

    知道为什么会这样吗?它没有通过哪个复选框被检查

    当模态关闭并重新打开时,有没有办法让复选框全部取消选中?

    编辑:

    我尝试使用此JS取消选中模式关闭并重新打开时的所有复选框,但nil仍然以nil的形式出现:

    params[:role_ids]

    首次打开模态时它会起作用,但在取消并重新打开模式时却不起作用。

1 个答案:

答案 0 :(得分:0)

我能解决这个问题的唯一方法是使用AJAX代替打开模态。因此,每次打开时都会从服务器检索模态。设置起来要麻烦得多,但效果很好。