这是How to I serve data from an object's associations in rails forms?
的后续行动我想知道,我想使用预先加载来为文章对象的编辑页面提供标签(以及通过关联表格保存的其他属性。在上一个问题中,我被告知我可以使用预先加载的关联来预加载那些数据。控制器中的IE我扩充了.find调用以包含
@article = Article.find(params[:id], :include => [:tags])
除非有两个主要注意事项,否则这将是很好的。首先是它为表格中的字段提供服务。因此,在此示例中,编辑表单中的:tags字段将填充:
[#<Tag id: 298, name: "Wondering">]
而不是
Wondering
第二个警告是我无法将这些关联提供给自定义字段。例如,我没有:tags字段,而是有一个:tag_list字段。在创建文章时,用户在此输入多个标签。在编辑时,:标签不会按名称映射并放入tag_list字段。我总是可以将这一行添加到控制器:
@article.tag_list = @article.tags.map(&:name)
但我正在寻找一个更优雅的解决方案,因为我有很多字段,我必须写这个,这似乎是浪费代码行。
任何人都可以提供帮助吗?