【发布时间】:2011-09-03 00:33:14
【问题描述】:
我有一个模型 Author 与模型 Book 具有 has_many 关系。书籍由 sunspot 索引,并有一个索引字段 :author_name ,该字段提取与其关联的作者姓名。
我有一个表单,可以让你同时通过创建作者和添加书籍
accepts_nested_attributes_for :book
我的问题是,当用书籍创建新作者时,新书没有正确编入索引。我相信当书籍被创建并且 after_save 太阳黑子索引被调用时,关联的新作者还没有被提交,所以它的名字不存在。
对此最好的解决方案是什么?我已经尝试在作者模型上添加一个 after_commit 挂钩来索引所有相关书籍,但是当该方法循环遍历书籍时,它们的 ids/association 为零。
【问题讨论】: