2013-02-03 110 views
0

我跟隨Railscasts #399在我的搜索框中使用jquery-ui的自動完成實現自動完成。不過,我還希望能夠包含每個搜索建議所屬的類別並對建議進行分組,類似於Pandora在Song/Artist/Album上的匹配方式。多個類別的Rails自動完成

我的模型看起來是這樣的:

class SearchSuggestion < ActiveRecord::Base 
    attr_accessible :popularity, :term, :type 

    def self.terms_for(prefix) 
    suggestions = where("term like ?", "#{prefix}_%") 
    suggestions.order("popularity desc").limit(10).pluck(:term) 
    end 
end 

和我的控制器是這樣的:

class SearchSuggestionsController < ApplicationController 
    def index 
    render json: SearchSuggestion.terms_for(params[:term]) 
    end 
end 

如何修改terms_for,這樣我可以包括:類型的json的格式,自動完成可以處理,我將如何去渲染這個?

回答

0

我發現了一種做我想做的事的方法,所以我想我會回答我自己的問題。我發現了方便的收集方法,並寫下我的功能:

def self.terms_for(prefix) 
    suggestions = where("term like ?", "#{prefix}_%").order("popularity desc").limit(10) 
    suggestions.collect {|suggestion| {"value" => suggestion["term"], "type" => suggestion["suggestion_type"] }} 
end