Rails表单多模型表单的验证

时间:2010-03-06 17:43:37

标签: ruby-on-rails forms validation

我正在尝试使用单个表单中的多个模型构建Rails应用程序,并在单个页面上构建多个表单。为了完成这项工作(根据我的有限知识),我必须退出脚手架代码和“form_for:model”帮助器并改为使用“form_tag”。但是,当我这样做时,我失去了在视图中自动捕获和报告表单验证错误的能力(闪存[:错误]中的错误消息并突出显示无效字段。

如果我有一个表单的控制器方法必须验证来自多个模型的数据,如何将验证错误传递回表单?如何突出显示无效字段,我该怎么办?

(最长的时间我没有“获取”Rails表单,因为我认为它们是HTML代码的无用Ruby包装。现在我在非Rails环境中工作,我意识到他们节省了多少辛苦工作因为验证与ActiveRecord验证相关联,并且如果验证失败,可以重新发布表单,其中闪烁的无效字段和flash [:error]中的有用消息。

1 个答案:

答案 0 :(得分:1)

要将多个模型添加到简单表单,在rails 2.3之后,您只需在模型中添加accepts_nested_attributes_for,将与控制器和视图连接的模型,更改视图以支持来自其他模型的信息(使用field_for)并且可能在控制器中构建引用对象。请查看以下链接: