如何从rails表单中的对象关联提供数据?

我有一个对象,我正在开发一个具有许多属性的控制器。 但是,由于我创建的数据模型,我必须编辑的大多数属性都是通过其他表中的关联保存的。 EG:我的文章通过标签表有标签(其他表中保存了大约20个其他属性)。 该文章通过多态关联等具有许多其他属性。

关联工作得很好,并且可以保存每个属性的多个条目。 但是,有一件事很难将编辑操作简化为控制器。 通常你可以保存@article = Article.find(params [:id])并显示所有属性。 这意味着表单具有服务的当前属性,并且该人员可以进行更改。

但是,对于通过关联保存的内容,这些字段为空。 我有一个shiv解决方案,例如,@ article.tag_list = @ article.tags.map(&:name)。 这使字段现在显示标签。

但是,对每个属性执行此操作会为控制器中的编辑操作添加许多行。 有没有更好的办法?

如果有一些代码我应该发布,我可以 – 只是没有,因为它现在很乱,所以我想我会解释。

你想要的是“急切加载”关联 – 这只是意味着在加载时将关联与基础对象一起填充。 查看此页面上的“Eager loading of associations”部分。