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

时间:2012-01-06 03:01:46

标签: ruby-on-rails ruby-on-rails-3 associations polymorphic-associations

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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