1

我有一个带有 has_many 关联的表单,我想通过 ajax 提交多个表单,以便可以动态更新父表单的显示页面。

我有以下模型(它们在 mongoid 中,但我认为 mongoid 和 activerecord 之间并不重要):

class User
  include Mongoid::Document
  include Mongoid::Timestamps
  has_many :tasks
end

class Task
  include Mongoid::Document
  include Mongoid::Timestamps
  belongs_to :user, inverse_of: :tasks
end

我有一个表单,它呈现表单的 n 个部分:

<%= form_for @task, remote: true do |f| %>
  <%= f.text_field :name %>
  <%= f.submit %>
<% end %>

通过 ajax 为用户在 show.html.erb 上执行新任务。

我如何在 show.html.erb 上编写一个提交按钮来一次提交所有任务,同时将它们与父用户相关联?

4

1 回答 1

1

基于这个问题的第二个答案: Rails 3: How to trigger a form submit via javascript?

假设您有一个带有 id 的按钮#multiSubmit,然后您可以使用以下 JavaScript 在单击它时提交每个表单:

$(function() {
  $("#multiSubmit").click( function() {
    $('form').each(function(i, item) {
      $(item).trigger('submit.rails');
    });
  });
});
于 2013-02-02T22:49:12.163 回答