2016-07-05 3 views
1

Я пытаюсь настроить рельсы-jquery-автозаполнение gem, и у меня установлен jquery-ui-rails gem. У меня есть модель транзакций с именами, и я хочу получить доступ к этому списку имен в качестве элементов автозаполнения в форме для другой модели, называемой «счета». Согласно документации, я добавил строку автозаполнения к контроллеру, но когда я перейду к ссылке, список пуст. Я думаю, проблема в том, что я хочу вызвать экземпляр, но я не уверен. Есть ли что-то, что мне не хватает для доступа к этому списку. Когда я перехожу к ссылке списка, он показывает пустой массив.rails-jquery-autocomplete: список, заполненный из экземпляра, пуст

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 %> 

модель транзакции

class Transaction 
    include Mongoid::Document 

    belongs_to :user 

    field :trans_names,  type: Array 
end 

контроллер транзакции

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

банкнота модель

class Bill 
    include Mongoid::Document 

    belongs_to :user 

    field :cell_phone 
end 

маршруты

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

ответ

0

Так я установил мой вопрос, который был из-за зрения. В форме я был

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

Я не мог видеть список автозаполнения, но когда я изменил его на

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

автозаполнение начало работать. Поэтому проблема решена.