フォームの自動入力タイプアヘッドに「会社」の名前を渡してほしい。
私はtwitterブートストラップとgongemを使用して、データをJsonに渡し、jsで利用できるようにしています。
ただし、フィールドに応答させることができません。データがフォームで利用できるとは思わず、理由がわかりません。
私の会社のコントローラーは、会社の名前をgon変数に割り当てる次のことを行います。
gon.firms = Firm.all.map &:name
My 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 %>
最後に、application.jsは、twitterブートストラップのドキュメントに従って関連する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
これを引き起こしている可能性のあるアイデアはありますか?
明らかに間違っていることはありますか?