一次添加具有多个子对象的对象

时间:2013-09-14 08:51:26

标签: html ruby-on-rails ruby forms activerecord

假设我有以下数据库:

公司(名称,部门)有许多产品(名称,价格)

我希望我的Rails网站的用户能够添加新公司及其产品。所以表单看起来像:

Add new company
--------------------
Name: [       ]
Sector: [       ]

Product 1:
  Name [       ]
  Price [       ]

Product 2:
  Name [       ]
  Price [       ]

Product 3:
  Name [       ]
  Price [       ]

理想情况下,用户可以根据需要一次添加多个产品(自动扩展列表?)。我如何在Rails中编程?

2 个答案:

答案 0 :(得分:0)

尝试Nested Form - 这是一个Rails gem,可以方便地以单一形式管理多个嵌套模型(c)

答案 1 :(得分:0)

我尝试了Nested From和Cocoon,两者都很好。我建议使用Cocoon,因为它可以更好地控制当前我需要创建新项目的原因,因为单表继承。

通常,您可能希望使用多个“添加”按钮/链接来创建具有略微不同的模型属性值的模型视图。例如,添加产品与添加服务或电话号码,例如“添加移动/小区与添加土地/固定线路”。