2016-04-15 100 views
0

我知道由于HTML规范的原因,“以表单的形式”无效。如何以其自己的形式保存另一个对象,但以第一个对象的形式保存?

所以,我的问题:有,例如,汽车模型,它是我在表单对象(它有很多额外的信息)的帮助下创建的形式。 但我的表单中有一处需要动态放置元素。例如,添加轮子。每个车轮都有自己的参数。流程是这样的:我填充添加轮的形式的领域,触摸'添加轮'按钮和新的一轮添加到我的主要形式。

所以,你可以看到有两个单独的按钮,但主要的形式是一个。 如何在Rails中实现这一点?

!我的解决方案:添加没有具体的形式,但只是特定的车轮的领域,并只处理这与JS和AJAX。我点击按钮 - > jQuery从这个特定的字段捕获数据 - >发送Ajax请求创建新轮子 - >返回创建轮子的html。 这是正确的方法吗?

+0

你用AJAX的方式在正确的道路上。 – jvillian

回答

1

您可以使用accepts_nested_attributes_for这样的:

class Car < ActiveRecord::Base  
    has_many :wheels, dependent: :destroy 
    has_many :seats, dependent: :destroy 

    accepts_nested_attributes_for :wheels, reject_if: :all_blank, allow_destroy: true 
    accepts_nested_attributes_for :seats, reject_if: :all_blank, allow_destroy: true 
end 

enter image description here

+0

单独按钮怎么样?据我所知,保存主对象时保存了nested_attrributes beign – Alexander

+0

亚历克斯,据我了解,车轮总是属于给定的汽车。所以我认为保存没问题。还是我误会了?对于添加/删除按钮,您可以使用茧宝石。 –

+0

我添加了一张图片,我如何在我的一个应用中使用它。 product_competition和produc_usecase作为嵌套的attr产品表单。 –

相关问题