私はちょうどこの問題で少し時間を費やしました。だから私はちょうど質問と答えを配置します。jquery-uiシンプルフォームでオートコンプリート
私はRails 5で動作していて、コードを少し乾燥させ、form_forからsimple_form_forに変更しようとしています。
with form_for、私はこのtutorialをフォローし、ターボリンクの問題にも対処することによって、オートコンプリートの仕事を得ることができました。
とあります _form.html.erb 下...
<div class="form-group">
<%= f.label :cae_id, class: "col-md-5 control-label" %>
<div class="col-md-7">
<%= f.text_field :cae_codenr, data: { autocomplete_source: index_autocomplete_caes_path, remote: true} %>
</div>
</div>
...
とcompanies.coffee
$(document).on 'turbolinks:load', ->
jQuery ->
$('#company_cae_codenr').autocomplete source: $('#company_cae_codenr').data('autocomplete-source')
jQuery ->
$('#user_company_attributes_cae_codenr').autocomplete source: $('#user_company_attributes_cae_codenr').data('autocomplete-source')
と私のcaes_controller:
def index_autocomplete
@caes = Cae.order(:codenr).where("codenr like ?", "%#{params[:term]}%")
render json: @caes.map(&:codenr)
end
と私の会社.rb
...
def cae_codenr
cae.try(:codenr)
end
def cae_codenr=(codenr)
self.cae = Cae.find_by(codenr: codenr) if codenr.present?
end
...
私はhtmlコードに一致して
<div class="form-group">
<%= f.label :cae_id, class: "col-md-5 control-label" %>
<div class="col-md-7">
<%= f.text_field :cae_codenr, data: { autocomplete_source: index_autocomplete_caes_path, remote: true} %>
</div>
</div>
を変更:次のHTML
<div class="input string optional company_cae_codenr">
<label class="string optional" for="company_cae_codenr">Cae codenr</label>
<input class="string optional" type="text" name="company[cae_codenr]" id="company_cae_codenr" />
</div>
で
<%= f.input :cae_codenr, data: { autocomplete_source: index_autocomplete_caes_path, remote: true} %>
に
<div class="form-group">
<label class="integer required col-md-5 control-label" for="company_cae_id">
<abbr title="required">*</abbr>
Cae
</label>
<div class="col-md-7">
<input data-autocomplete-source="/caes/index_autocomplete" data-remote="true" type="text" name="company[cae_codenr]" id="company_cae_codenr" />
</div>
</div>
を
と私は私の入力に番号の入力を開始するとき、私は
this.sourceが
エラー
だから... ...私は周りの解決策を見てきた機能ではありません取得jqueryとsimpleform、そしてこのエラーメッセージもありますが、ここでは直接解決策のどれもここでは機能していないようです...