如何在 rails 中不提交点击而 submit/update 表单?

How to submit/update form without submit click in rails?

生成了一个 recruitment 模型,该模型与 attendance 模型有 one_to_many 关联。现在我想在用户更改出勤下拉列表时 submit/update 表格。这是我的代码-

  <table>
    <thead>
      <tr>
        <th>Name</th>

        <% (1..(Time.days_in_month Time.now.strftime("%m").to_i)).each do |date| %>
              <th><%= date %></th>
        <% end %>

      </tr>
    </thead>

    <tbody>
      <% @recruitment.each do |recruitment| %>
        <tr>
            <td><%= recruitment.name %></td>

            <% (1..(Time.days_in_month Time.now.strftime("%m").to_i)).each do |date| %>
                  <td>


                    <%= form_for Attendance.new do |f| %>
                        <div>
                          <div class="wrapper-class">
                              <%= f.select :status, [['P', 1], ['A', 2], ['H', 3]]%>
                          </div>

                          <div>
                            <%= f.hidden_field :attendance_date, value: (Time.now.strftime("%Y").to_s+"-"+Time.now.strftime("%m").to_s+"-"+date.to_s)%>
                          </div>

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

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

我不想每次更改输入时都单击 submit select。

我试过了-

  <%= f.select :status, [['P', 1], ['A', 2], ['H', 3]], :onchange => 'this.form.submit()' %>

但这不起作用。

我怀疑如果您检查正在生成的 HTML 代码,您将看不到 select 字段的 onchange 属性。

像这样

select 方法在到达 html_options 之前需要一个 options 的散列,所以为了解决这个问题,我们做

<%= f.select :status, [['P', 1], ['A', 2], ['H', 3]], {}, :onchange => 'this.form.submit()' %>

如果您需要指定任何其他 HTML 选项,例如 class 或样式,您可以这样做

<%= f.select :status, [['P', 1], ['A', 2], ['H', 3]], {}, { onchange: 'this.form.submit()', class: 'some-css-class' } %>

请注意 onchangeclass 属性周围的大括号。

相关文档:https://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/select