我试图在单个工作流程中从父类创建多个项目(关联类)到子项(深度为4级)。我希望能够创建父项,然后点击" next"能够创建一个/多个孩子,然后点击" next"创建孩子的孩子,等等......最后,在最后一个屏幕中,我希望能够通过点击保存来保存所有项目。如果子项中缺少某些内容,则也无法创建父类。
我们对如何做到这一点有任何想法吗?
非常感谢:)
答案 0 :(得分:1)
您可以在父模型中使用accepts_nested_attributes_for
来关联子模型。
在视图中,您可以使用fields_for
或simple_fields_for
(如果使用simple_form gem)在后续步骤中列出子模型字段。
在每个步骤中,而不是在db中保存对象,您可以使用.valid?
而不是save
来检查对象是否有效。在最后一步,您可以使用.save method
。
有效吗?您可以在每个步骤中获取错误,在最后一步,您可以通过创建父对象来保存所有记录。