我们正在使用thinktank gem,并且在索引模型关联时遇到了麻烦,即使是简单的关联。例如,一个个人资料属于一个机构,它有一个名字——我们想做这样的事情:
class Profile < ActiveRecord::Base
#model associations
define_index do
indexes institution(:name), :as => :institution_name
end
end
但这不起作用。这一定很简单——我做错了什么?
我们正在使用thinktank gem,并且在索引模型关联时遇到了麻烦,即使是简单的关联。例如,一个个人资料属于一个机构,它有一个名字——我们想做这样的事情:
class Profile < ActiveRecord::Base
#model associations
define_index do
indexes institution(:name), :as => :institution_name
end
end
但这不起作用。这一定很简单——我做错了什么?
这个问题的一个可能的解决方案是添加一个将元素返回到索引的方法。对于 profile.institution.name 案例:
# profile.rb
# ...
belongs_to :institution
# ...
define_index do
indexes institution_name
end
def institution_name
self.institution.name
end
# ...
此外,thinktank 不支持 ", :as => ..." 语法。
我还建议尝试一下 Tanker:https ://github.com/kidpollo/tanker
问候。
阿德里安