1

我想在我的模型中的太阳黑子“可搜索”方法中添加有条件的索引一些数据。理想情况下,它看起来像这样:

searchable do
    string :important_text
    if address_visible?
      string :address
    end
end

在上面的示例中,我只想在 address_visible 时才索引地址字段?方法(在模型上)返回 true。不幸的是,address_visible?方法抛出“NoMethodError”,因为上下文现在是 Sunspot::DSL::Fields,而不是模型。

4

1 回答 1

2

我认为您实际上无法完全按照自己的意愿行事。尽管如此,当地址不可见时,您可以为地址索引不同的值。例如:

searchable do
    string :important_text
    string :address { |model| model.address_visible? ? model.address : '' }
end
于 2013-06-06T23:14:28.780 回答