【问题标题】:rails nested form errorrails嵌套表单错误
【发布时间】:2012-03-12 09:51:40
【问题描述】:

我有一个嵌套表单,当表单未成功提交时(用户忘记了必填字段),在重新加载时,嵌套表单部分不会再次完全显示...

不显示的是未满足的嵌套部分的约束...

所以嵌套表单的第一天和最后一天有两个字段,不能留空。

accepts_nested_attributes_for :onespecials, :reject_if => lambda { |a| a[:first_day].blank? || a[:last_day].blank? }

但是,如果用户没有填写这些,点击提交,并在主表单上弄乱了上面的字段之一,嵌套部分不会再次显示...有关如何获取所有由于表单上的错误而必须重新加载时显示嵌套的部分?

【问题讨论】:

  • 这可能与您如何 A) 构建嵌套属性和/或 B) 您如何在表单上呈现现有嵌套对象有关。您没有将其中任何一个显示为代码 sn-ps,因此这很难诊断。
  • 用代码更新...有帮助吗?

标签: ruby-on-rails-3 nested-forms


【解决方案1】:

当然嵌套形式将是空白的 - 你拒绝了它的参数::reject_if => lambda { |a| a[:first_day].blank? || a[:last_day].blank? }。这就是为什么你没有f.object. onespecials。如果您想验证one specials,请使用验证方法或标准方法进行验证。换句话说,只需删除:reject_if,您将呈现带有填写字段的表单。

【讨论】:

  • 但是对于嵌套部分,如果空白字段没有输入任何内容,我不希望将它们保存在数据库中。
  • Onespecial 模型中的字段使用validates_presence_of
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多