0

私はacts_as_taggable_onを使って投稿モデルにタグ付けするレール3アプリを持っています。私は、私がacts_as_indexedを使う投稿を検索できる検索ボックスを持っています。私の検索では、acts_as_indexedをサポートするようにActsAsTaggableOn :: Tagクラスを拡張することによって、すべてのタグを検索することもできます。それ、どうやったら出来るの?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 

UPDATE:私はファインダに建てacts_as_taggable_onのを使用して、この作品を作った(特に、Tag#named_like)、しかし、私は私のアプリの他のすべてのモデルで使用するので、私はこの問題のために特別なケースタグの検索をしなければならないので、acts_as_indexedを使用することを好むでしょう。

おかげで、

答えて

1

各ポストに関連するタグが検索に含まれるようにPostモデルにact_as_indexed宣言を延長する方が簡単かもしれません。

class Post 
    acts_as_taggable_on 
    acts_as_indexed :fields => [ <existing tag list> , :tag_list] 
関連する問題