2016-07-05 12 views
1

Ich versuche, Rails-jquery-autocomplete gem einrichten und ich habe die jquery-ui-Schienen Juwel installiert. Ich habe ein "Transaktions" -Modell, das Namen hat, und ich möchte auf diese Liste von Namen als Autocomplete-Elemente in einem Formular für ein anderes Modell namens "Rechnungen" zugreifen. Laut der Dokumentation habe ich die Autocomplete-Zeile zum Controller hinzugefügt, aber wenn ich auf den Link gehe, ist die Liste leer. Ich denke, das Problem ist, weil ich eine Instanz anrufen möchte, aber ich bin unsicher. Gibt es etwas, das mir fehlt, um auf diese Liste zuzugreifen? Wenn ich zum Listenlink gehe, wird ein leeres Array angezeigt.rails-jquery-autocomplete: Liste ausgefüllt von Instanz ist leer

application.js

//= require jquery 
//= require jquery_ujs 
//= require jquery-ui/autocomplete 
//= require autocomplete-rails 

application.css

*= require jquery-ui/autocomplete 

bill_form_view

<%= f.fields_for :bill do |b| %> 
    <div class="row"> 
    <div class="col-xs-6 form-group"> 
     <% if @user.bill.cell_phone.blank? %> 
      <%= b.label :cell_phone, "Cell Phone Company Name"%><br /> 
      <%= b.text_field :cell_phone, autocomplete: autocomplete_bills_path %> 
     <% end %> 

Transaktionsmodell

class Transaction 
    include Mongoid::Document 

    belongs_to :user 

    field :trans_names,  type: Array 
end 

Transaktionscontroller

class Tenants::TransactionsController < ApplicationController 
    before_action :authenticate_user! 
    autocomplete :transaction, :trans_names, limit: 5, full: true 
    ... 
end 

Rechnung Modell

class Bill 
    include Mongoid::Document 

    belongs_to :user 

    field :cell_phone 
end 

Routen

resource :transactions do 
     collection do 
     get 'autocomplete_transaction_trans_names' 
     end 
    end 

Antwort

0

So fixiert ich meine Frage, die zu der Ansicht, zurückzuführen ist. In Form hatte ich

<%= b.text_field :cell_phone, autocomplete: autocomplete_bills_path %> 

ich nicht die Autovervollständigen-Liste sehen konnte, aber wenn ich es zu

geändert
<%= b.autocomplete_field :cell_phone, autocomplete: autocomplete_bills_path %> 

Die Autocomplete begann zu arbeiten. Also Problem gelöst.