Ruby on rails 轨道3。验证失败时,保留表单中嵌套字段的数量
我有一张表格,上面有一个学生和3个紧急联系人。(紧急联系人属于学生) 所以,学生控制员Ruby on rails 轨道3。验证失败时,保留表单中嵌套字段的数量,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一张表格,上面有一个学生和3个紧急联系人。(紧急联系人属于学生) 所以,学生控制员 def new @student = Student.new 3.times {@student.emergency_contacts.build} ... 比如说,用户填写了学生信息,只有一个紧急联系人。由于任何原因(可能没有输入学生姓名),当表单重新显示时,输入第二个或第三个额外紧急联系人的字段将消失 当然,如果我在创建操作中也这样做3.times{@member.carriers.build
def new
@student = Student.new
3.times {@student.emergency_contacts.build}
...
比如说,用户填写了学生信息,只有一个紧急联系人。由于任何原因(可能没有输入学生姓名),当表单重新显示时,输入第二个或第三个额外紧急联系人的字段将消失
当然,如果我在创建操作中也这样做3.times{@member.carriers.build}
,每次验证失败时,我都会得到越来越多的附加字段
那么,即使验证失败,我如何始终在表单中保留指定数量的嵌套模型呢?在创建操作中,您可以执行以下操作:
if @student.save
...
else
(3 - @student.emergency_contacts.size).times { @student.emergency_contacts.build }
end
希望有帮助。在创建操作中,您可以执行以下操作:
if @student.save
...
else
(3 - @student.emergency_contacts.size).times { @student.emergency_contacts.build }
end
希望能有帮助