我有一个Flight
模型嵌套在一个FlightLog
模型。 AFlightLog
可能包含许多航班。
我使用 SimpleForm 进行引导安装,这样当验证失败时,可以用错误类包围带有错误的表单元素。
问题是,即使触发了嵌套模型的验证,simple_fields_for 内有错误的字段未被标记,因此无法确定哪个属性无效。
在调用创建操作时检查错误哈希后,我可以看到它正确填充了顶层的错误以及每个资源内嵌套资源的错误。
如何修改 simple_form 的行为以将错误类添加到每个嵌套模型的控制组以匹配父级的行为?
提前致谢。
如果您将 simple_form 与 bootstrap 一起使用,这确实有效 - 您只需要正确设置一些项目:
1 - 使用 simple_form 引导包装器(来自 simple_form 2.0) - 您可以在 github 存储库中找到它们config/initializers/simple_form.rb
(https://github.com/rafaelfranca/simple_form-bootstrap https://github.com/rafaelfranca/simple_form-bootstrap)
2 - 对于要显示错误的嵌套表单,您必须确保提供一个对象。f.simple_fields_for :nested_model
不起作用,你需要使用f.simple_fields_for parent_model.nested_model
or f.simple_fields_for :nested_model, parent_model.nested_model
以便形式能够获得必要的对象。
如果您仍然没有得到任何内容,请通过在嵌套对象上输出错误数据来验证表单是否确实获取了您认为的对象(有错误):parent_model.nested_model.errors.full_messages.to_sentence
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)