我希望将我的“公司”的名称传递到表格上的自动完成输入中。
我正在使用 twitter bootstrap 和 gon gem 将数据传递到 Json 并使其可用于 js。
但是我无法让该字段做出响应,我不认为数据可用于表单并且不明白为什么。
我的公司控制器执行以下操作,将公司名称分配给 gon 变量。
gon.firms = Firm.all.map &:name
我的 Application.html.erb 在其标头中有以下内容,以使 gon 变量可用于 js。
<%= include_gon %>
<script type="text/javascript">
jQuery(document).ready(function() {
$(.typeahead).typeahead({source:gon.firms});
});
</script>
然后我有了我想分配 typeahead 的表格,我已经分配了 class="typeahead" 给它。
<%= form_tag firms_path, :method => 'get', :class => 'typeahead' do %>
<%= text_field_tag :search, params[:search], :class => 'input-medium search-query', :placeholder => 'Firm name' %>
<%= submit_tag "Search", :name => nil ,:class => 'btn' %>
<% end %>
最后,根据 twitter 引导文档,application.js 文件相关的 jquery。
$(function() {
$('.typeahead .input-medium search-query').typeahead({source:[gon.firms]});
}
我的应用程序 .js 还具有以下库
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require twitter/bootstrap
//= require_tree .
我检查了 gon.firms 是否可用作变量,但开发控制台出现以下错误
uncaught syntax error: Unexpected token
有什么想法可能导致这种情况吗?
有什么明显的错误吗?