我需要从可搜索块内部访问我的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数组,每个产品都有不同的数据,所以我需要访问它。
非常感谢 瑞克
答案 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:我自己并没有动态地为可搜索的块添加字段(虽然上面有效)