太阳黑子肯定可以用一些红宝石魔法来完成吗?

时间:2014-02-11 01:19:23

标签: ruby-on-rails-3 sunspot sunspot-rails sunspot-solr

我需要从可搜索块内部访问我的rails模型实例,如下所示。

class Product

        include MongoMapper::Document
        include Sunspot::Rails::Searchable

        key :field_names, Array

        searchable do |ss|

            self.field_names.each do |field| 
              ss.double field[:name] do 
                field[:value] 
              end 
            end 
        end

end

有没有人知道如何通过太阳黑子做到这一点?

我在每个产品实例上都有一个field_names数组,每个产品都有不同的数据,所以我需要访问它。

非常感谢 瑞克

1 个答案:

答案 0 :(得分:0)

在那里,你在一个不同的评估环境(Solr :: DSL或类似的东西)。这是为了提供像“整数,字符串”这样的关键字的能力。看起来你正在尝试评估动态属性/过滤器......所以请参阅我修改过的响应(下面)

你的意思是?

def Foo

  attr_accessible  :id, :title

  @fields_to_dynamically_add = ['title']


  searchable do |s|

    s.integer :id
    s.string  :title

    @fields_to_dynamically_add.each do |f|
      s.string f.to_sym
    end

  end

end

PS:我自己并没有动态地为可搜索的块添加字段(虽然上面有效)