rails-jquery-自动完成:从实例填充的列表为空

rails-jquery-autocomplete: list populated from instance is blank

我正在尝试设置 rails-jquery-自动完成 gem 并且我有 jquery-ui-rails gem安装。我有一个具有名称的 "transactions" 模型,我想访问该名称列表作为另一个名为 "bills" 的模型的表单中的自动完成项。根据文档,我将自动完成行添加到控制器,但是当我转到 link 时,列表是空白的。我认为问题是因为我想调用一个实例但我不确定。我是否缺少访问此列表的内容。当我转到列表 link 时,它显示一个空数组。

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

所以我解决了由于视图引起的问题。在我的表格中

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

我看不到自动完成列表,但是当我将其更改为

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

自动完成开始工作。所以问题解决了。