我有一个rails 3应用程序,我使用acts_as_taggable_on来标记Post模型。我有一个搜索框,允许我搜索帖子,我在其中使用acts_as_indexed。在我的搜索中,我希望能够通过扩展ActsAsTaggableOn :: Tag类来搜索所有标记,以支持acts_as_indexed。我怎么做?
我尝试了以下内容:
# lib/tag.rb
module ActsAsTaggableOn
class Tag
acts_as_indexed :fields => [:name]
end
end
但是当我尝试调用find_with_index时出现以下错误:
> ActsAsTaggableOn::Tag.find_with_index('foo')
undefined method `find_with_index' for ActsAsTaggableOn::Tag(id: integer, name: string):Class
更新:我使用acts_as_taggable_on的内置查找器(特别是Tag#named_like)来完成这项工作,但我更喜欢使用acts_as_indexed,因为我在我的应用程序中使用了所有其他模型,而且我需要特殊情况标签搜索由于这个问题。
谢谢,
答案 0 :(得分:1)
在Post模型上扩展act_as_indexed声明可能更容易,这样每个帖子相关的标签都会包含在搜索中。
class Post
acts_as_taggable_on
acts_as_indexed :fields => [ <existing tag list> , :tag_list]