【问题标题】:Rails autocomplete on multiple categoriesRails 自动完成多个类别
【发布时间】:2013-01-18 04:19:24
【问题描述】:

我正在关注Railscasts #399,使用 jquery-ui 的自动完成功能在我的搜索框中实现自动完成功能。但是,我还希望能够包含每个搜索建议所属的类别并对建议进行分组,类似于 Pandora 在歌曲/艺术​​家/专辑上的匹配方式。

我的模型如下所示:

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 中包含 :type 以自动完成可以处理的格式,我将如何渲染它?

【问题讨论】:

    标签: ruby-on-rails jquery-ui autocomplete


    【解决方案1】:

    我找到了一种方法来做我想做的事,所以我想我会回答我自己的问题。我发现了方便的 collect 方法,并像这样编写了我的函数:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-09
      • 2015-08-27
      • 2015-03-13
      • 2017-10-23
      • 2016-05-06
      • 2011-12-23
      • 1970-01-01
      相关资源
      最近更新 更多