【问题标题】:Rails 3. Keep the number of nested fields in form when validation failsRails 3. 验证失败时保持表单中嵌套字段的数量
【发布时间】:2012-09-06 20:15:27
【问题描述】:

我有一个表格,用于注册一个学生和 3 个紧急联系人。 (emergency_contact 属于学生)。

那么,StudentController...

def new
  @student = Student.new
   3.times {@student.emergency_contacts.build}
...

假设用户填写了学生信息并且只有一个紧急联系人。验证因任何原因失败(可能未输入学生姓名),重新显示表单时,输入第二个或第三个额外紧急联系人的字段消失了

当然,如果我在创建操作中也这样做3.times {@member.caregivers.build},每次验证失败时我都会得到越来越多的附加字段。

那么,即使验证失败,我如何才能始终在表单中保留指定数量的嵌套模型?

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    在您的创建操作中,您可以:

    if @student.save
      ...
    else
     (3 - @student.emergency_contacts.size).times { @student.emergency_contacts.build }
    end
    

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多