如何在Rails中为父对象和子对象创建一个表单?

问题描述:

我有一个Project对象,其唯一参数(除了:id)是:project_name。 该对象的子项是ProjectDescription对象,其参数是:project_id和:description。如何编写一个表单,这将创建一个项目并带有相应的描述,而Rails不会给出任何错误?如何在Rails中为父对象和子对象创建一个表单?

+2

为什么不作出说明项目的列? – Castilho 2012-03-14 00:15:05

+0

寻找一个“嵌套表单”教程来做到这一点。但是我同意@Castilho,为什么不只是在Project上描述一个专栏? – 2012-03-14 00:16:59

+0

@Castilho,我知道,但我正在学习Rails并希望尽可能多地覆盖。同样的想法是,为了隐藏项目描述并将它们打开/关闭,所以我将它们作为一个单独的对象,并将可见性列作为布尔值。 – oFca 2012-03-14 00:44:52

由于卡斯蒂略评论说,这听起来像你可以重构你的数据库架构,而不必担心这个,但是......

你正在寻找被称为什么嵌套属性形成:
http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html

瑞恩·贝茨做了这个话题很大的截屏:
http://railscasts.com/episodes/196-nested-model-form-part-1