2017-03-08 2 views
0

今、私は宝石https://github.com/seamusabshere/fuzzy_matchを使用していますが、1回の呼び出し時間で1つの結果しか取れません。代わりに私は5つの結果を得ることができますか? これは私のコードです:ファジーマッチ宝石から5つの結果を得るには?

def related_ques 
    collect_ques = Question.joins(:question_topics) 
       .where("topic_id in (?) and questions.id != ?",self.topic_ids, self.id) 
    results = Array.new 
    Settings.question_page.num_related_ques.times do 
    fz = FuzzyMatch.new(collect_ques, read: :title) 
    question = fz.find(self.title) 
    results << question unless question.nil? 
    collect_ques = collect_ques.to_a - [question] 
    end 
results 
end 

答えて

0

fuzzy_match宝石を使用して、あなたは与えられた入力に複数の文字列の一致がある場合にのみ、findから複数の結果を持つことになります。詳細については、thisのドキュメントを参照してください。

+0

私はファジーオブジェクトを初期化してからファインオブジェクトを初期化し、新しいコレクションで新しいファジーオブジェクトを初期化し続ける必要があります。 @ _ @。5つの結果に対してほぼオプションのオプションがあります。 –

+0

あなたのコードを投稿して分かりやすくすることができます – Pramod

+0

はい、私はすでに編集しています。 –

関連する問題