【发布时间】:2014-03-11 03:02:16
【问题描述】:
我的一个启用 Searchkick 的模型中有一个 search_data 方法,但 Searchkick 在要求重新索引时似乎没有兑现它。
这是我的模型(删节):
class Archive < ActiveRecord::Base
searchkick
def search_data
{:creator=>self[:creator],:description=>self[:description],:pdf=>self.pdf_contents,:title=>self[:title]}
end
def pdf_contents
Yomu.read(:text,File.read(path_to_file))
end
end
在 Rails 控制台中,Archive.first.search_data 返回我所期望的:具有创建者、描述、pdf 和标题属性的对象。但是,Archive.first.reindex 会抛出一个错误,指出它无法解析 dateacquisitioned 字段。 ActiveRecord 对象(Archive.first)确实有一个 dateacquisitioned 属性,但正如您所见,它不在 search_data 方法的属性列表中。那么,为什么 Searchkick 的 reindex 方法在我没有要求的情况下尝试索引 dateacquisitioned 属性呢?
【问题讨论】:
标签: ruby-on-rails-4 elasticsearch