【发布时间】:2017-02-07 01:33:27
【问题描述】:
我正在尝试在我的 rails 应用程序中实现自动完成表单。
到目前为止,我已经完成了以下安装步骤。
Gemfile 添加:
gem 'jquery-rails'
gem 'jquery-ui-rails'
gem 'rails4-autocomplete'
Application.js 添加:
//= require jquery
//= require jquery_ujs
//= require jquery-ui/autocomplete
//= require autocomplete-rails
在我的模型中,我有一份工作和一家公司。一个Job belongs_to Company 和一个Company has_many Jobs。
在我的 routes.rb 中我有:
resources :companies
resources :jobs do
get :autocomplete_company_name, :on => :collection
end
作业控制器添加到顶部:
autocomplete :company, :name
所有工作都包含一个日期,然后是公司、联系人、工作地点等表的外键。在工作的新表格上,我有:
<%= form_for(@job) do |f| %>
<%= f.hidden_field :date, :value=>Time.now %>
<%= f.hidden_field :user_id, :value=>current_user.id %>
<%= f.fields_for :company, @company do |company| %>
<%= company.autocomplete_field :name, autocomplete_company_name_jobs_path %>
我可以在我的表单上呈现自动完成字段,但是当我开始输入时,什么也没有出现。 Home Depot 是我测试数据库中的虚拟公司之一,但您可以看到,当我输入“Ho”时,似乎没有自动完成功能。
我正在呈现的自动完成字段的页面源如下所示:
<input data-autocomplete="/jobs/autocomplete_company_name" type="text" name="job[company][name]" id="job_company_name" />
我一直在关注此处的文档和说明:https://github.com/bigtunacan/rails-jquery-autocomplete
我有什么遗漏吗?例如我不包括的一些 javascript 文件或我需要在 application.js 中运行的脚本/函数?还是我的 application.html 中的 javascript_include_tag?
我是使用 jQuery 和 javascript 的新手。
【问题讨论】:
标签: javascript jquery ruby-on-rails ruby-on-rails-4 autocomplete