使用rails3-jquery-autocomplete的多个输入字段

时间:2012-02-10 09:37:14

标签: jquery ruby-on-rails autocomplete

我正在使用带有rails 3 web应用程序的https://github.com/crowdint/rails3-jquery-autocomplete,我希望自动填充字段不仅基于该字段上键入的内容,还基于同一表单中其他字段的值

以下是一个例子:

class Country < ActiveRecord::Base
    has_many :academic_titles_suggestions
end

class AcademicTitleSuggestion < ActiveRecord::Base
    belongs_to :country
end

class People < ActiveRecord::Base
    belongs_to :country
    # has field a field academic_title:string
end

现在,当我显示一个人物的表格时,我想要一个国家的下拉列表和一个基于该国家学术头衔建议的学术头衔的建议框

您对如何做到这一点有什么建议吗?

1 个答案:

答案 0 :(得分:2)

所以你需要发送额外的字段并考虑它们进行搜索。

您可以使用:fields选项发送额外字段:

f.autocomplete_field :academic_title, fields: { country: "#country" }

然后你需要考虑这个额外的字段进行搜索。

class AcademicTitleController < ActiveRecord::Base
  def autocomplete_academic_title
    country = params[:country]
    title = params[:title]

    titles = AcademicTitleSuggestion.joins(:country).where('countries.name = ? AND academic_title_suggestions.title LIKE ?', country, "%#{title}%").order(:title)
    render json: titles.map { |title| { id: title.id, label: title.title, value: title.title } }
  end
end

gem README

中的更多信息