首页 > 解决方案 > 如何在 ruby​​ on rails 的数据表中添加多选?

问题描述

jquery-datatables-rails在我的应用程序中使用 gem。我想在我的应用程序中添加功能多选。在多选时,我想projectdirector在提交时立即设置表格状态。为了实现这个目标,我需要做哪些改变?

project_sitetable 与 table 有太多关联project_director

脚本.js

$( document ).on('turbolinks:load', function(){
      // DataTable feature
      $('#project-director-table').dataTable({
      "order": []
  });
 });

index.html.erb

<div class="table-scroll director-form">
  <table id="project-director-table">
    <thead>
      <tr>
        <th>Uploaded By</th>
        <th>User Email </th>
 
        <th></th>
      </tr>
    </thead>

    <tbody>
      <% @project_sites.where(submission_status: true).order("created_at desc").each do |project_site| %>
        <% project_site.project_managers.each do |project_manager| %>
          <% if project_manager.status == true %>

          <tr>
            <td><%= project_site.user.name %></td>
            <td><%= project_site.user.email %></td>

            <td><%= link_to "Marked Attendance", project_site_attendances_path(project_site) %></td>



            <% if project_site.project_directors.empty? %>
              <td class="pending fi-eye"><%= " Pending" %></td>

            <% else %>
              <% project_site.project_directors.each do |project_director| %>
                <% if project_director.status == false %>
                  <td class="rejected fi-x"><%= ' Rejected' %></td>
                <% elsif project_director.status == true %>
                  <td class="approved fi-check"><%= " Approved" %></td>
                <% end %>
              <% end %>
            <% end %>

            <td>
                <% if project_site.project_directors.empty?%>
                    <%= form_for ProjectDirector.new do |f| %>
                        <div>
                          <div class="wrapper-class">
                            <span>
                            <%= f.radio_button :status, true  %>
                            <%= f.label :approve %>
                            </span>
                            <span>
                            <%= f.radio_button :status, false  %>
                            <%= f.label :reject %>
                            </span>
                          </div>


                            <%=f.hidden_field :project_site_id, value: project_site.id%>
                            </div>
                          <div>
                            <%= f.submit 'Submit', :class => 'button primary small float-right' %>
                          </div>

                    <% end %>
                  <% end %>

            </td>
        </tr>
      <% end %>
    <% end %>
    <% end %>

    </tbody>
  </table>
</div>

<br>

应用程序.js

//= require jquery
//= require rails-ujs
//= require jquery-ui/widgets/datepicker
//= require dataTables/jquery.dataTables
//= require activestorage
//= require turbolinks
//= require foundation
//= require jquery.validate.additional-methods
//= require jquery.validate
//= require_tree

标签: ruby-on-railsdatatableruby-on-rails-5

解决方案


我认为您正在寻找带有数据表的多选复选框。确保您是否包含库 dataTables.checkboxes.min.js 和 dataTables.checkboxes.css

$('#example').DataTable({
   'columnDefs': [
      {
         'targets': 0,
         'checkboxes': true
      }
   ],
   'order': [[1, 'asc']]
});

有关更多详细信息,请参阅此链接。这是一个工作示例


推荐阅读