0

我有一个表格,需要为与其他几个表格有关系的表格显示。例如,我有一个表“案例”(想想,调查员案例),它是 has_one 索赔人和 has_one 客户。

我希望表单显示要填写案例数据、客户数据和索赔人数据的字段。有没有一种简单的方法可以做到这一点,以便在提交时,它就像:

case = Case.new(params[:case])
case.save

如果我只是为案例数据提交和保存表单,会是这样吗?

4

3 回答 3

0

我不相信有一种方法可以让您只调用 case.save 就可以了。

要制作表格,请考虑使用 fields_for。http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#M001605

fields_for 允许您添加存储在不同 POST 变量中的字段,因此如果您正确设置字段,那么在您的新方法中您可能会执行以下操作:

claimant = Claimant.new(params[:claimant])
claimant.save

这并不是非常复杂。

于 2009-08-05T19:09:49.353 回答
0

听起来您正在寻找accepts_nested_attributes_foractiverecord 的方法。您将需要使用

- form.fields_for :claimant do |claimant_form|
  = claimant_form.text_field :name

您可以在Ryan Daigle 的博客文章中找到更多信息

于 2009-08-05T19:57:11.503 回答
0

请参阅我关于创建嵌套多模型表单的复杂表单示例。这已更新为与 Rails 2.3 的accepts_nested_attributes_for.

它允许您根据需要嵌套所有关联params[:case]。当您调用时,case.save其他所有内容也将被保存。

于 2009-08-05T20:25:41.650 回答