Rails アプリで特定のフォームのオートコンプリートを開発しています。この目的のために、カスタムコントローラーメソッドで typeahead.js を使用しています。これまでのところ、機能していますが、フォーム内でこれらの値を再度使用する必要があります。これにより、送信ボタンを押すことができ、フォームが投稿され、レールによって正常に処理されます。これどうやってするの?これが今のコードです
.page-header
%h1
= @org.name
%small= t('.title')
= form_for @org_admin, |
url: organization_organization_admins_path(@organization) do |f|
.form-group
= f.label t('.user')
= f.hidden_field :user, id: 'user_id'
%input.typeahead{ :type => "text", :autocomplete => "off"}
= f.submit t('.submit'), class: 'btn btn-primary'
= link_to t('.back'), organization_organization_admins_path(@organization)
:javascript
$(document).ready(function() {
$('input.typeahead').typeahead({
name: 'names',
remote: "#{search_organization_organization_admins_path(@organization)}?term=%QUERY",
engine: Hogan,
template: '<p><strong>{{username}}</strong></p>',
limit: 10
}).on('typeahead:selected', function(e, data){
$('#user_id').value = data.id
});
});
したがって、フォームの :user 属性に、コントローラーから返された json オブジェクトを入力したいと思います