如何以一种形式提交多种形式?

时间:2018-11-22 12:50:52

标签: ruby-on-rails ruby

我有一个Event显示页面,在其中显示特定事件,在该事件页面上,我具有该事件的客户注册表格(Customer属于Event)。

由于我有两种事件,因此每种事件的类型都有两种不同的形式。其中一个是由玩家提交的,另一个是由玩家的父母提交的。

现在,在父母的表单上,我为父母显示字段,但我也想有一个Add player按钮,该按钮将为具有不同字段的玩家显示一个表单。最多可以添加3个玩家。我知道如何显示此新表单,但是如何将这种表单提交给控制器?这可能吗?

1 个答案:

答案 0 :(得分:0)

您可以使用accepts_nested_attributes_for(伪代码质量,未经测试):

# model
class Event < ApplicationModel
  has_many :players
  acccepts_nested_attributes_for :players
end


#view
<% form_for @event do |f|%>
  # event inputs
  # ...
  <% f.fields_for :players %>
    # players inputs
  <%end%>
<%end%>

您可能需要一点JS 魔术才能添加最多3位玩家。