我在工作和公司之间有关联,我想实现自动完成功能 在我的jobs.js.coffe文件中,我有这段代码
jQuery ->
$('#job_company_name').autocomplete
source: $('#job_company_name').data('autocomplete-source')
这是我的工作表格视图
<div class="form-group">
<%= f.label :company_name %><br />
<%= f.text_field :company_name, data: {autocomplete_source: companies_path} %>
</div>
<div class="form-group">
<%= f.label :job_title, "Intitulé du poste", class: "jobs-newtitles" %><br>
<%= f.text_field :job_title, class: "form-control form-newjob" %>
</div>
这是我的工作模式
class Job < ActiveRecord::Base
belongs_to :company
extend FriendlyId
friendly_id :job_title, use: :slugged
def company_name
company.try(:name)
end
def company_name=(name)
self.company = Company.find_or_create_by_name(name) if name.present?
end
end
我还将此添加到我的公司控制器
def autocomplete
@companies = Company.order(:name).where("name like ?", "%#{params[:term]}%")
respond_to do |format|
format.html
format.json { render json: @companies.map(&:name) }
end
end
这是我的路线
concern :autocompletable do
get 'autocomplete', on: :collection
end
resources :companies, concerns: :autocompletable
答案 0 :(得分:0)
您指定了自动填充网址“companies_path”,而您的自动填充操作是“自动填充”。
使用此检查检查正确的自动完成路径:
$ rake routes | grep autocomplete
我假设您需要将autocomplete_source修改为以下内容:
<%= f.text_field :company_name, data: {autocomplete_source: companies_autocomplete_path} %>