我想在我的模型中添加一个有条件索引的太阳黑子'searchable'方法中的一些数据。理想情况下,它看起来像这样:
searchable do
string :important_text
if address_visible?
string :address
end
end
在上面的例子中,我想仅在address_visible时索引地址字段?方法(在模型上)返回true。不幸的是,address_visible?抛出'NoMethodError'因为上下文现在是Sunspot :: DSL :: Fields,而不是模型。
答案 0 :(得分:2)
我认为你实际上并不能完全按照自己的意愿行事。尽管如此,当地址不可见时,您可以为地址索引不同的值。例如:
searchable do
string :important_text
string :address { |model| model.address_visible? ? model.address : '' }
end