【问题标题】:Cannot find my mistake with jQuery autocomplete and Rails 4在 jQuery 自动完成和 Rails 4 中找不到我的错误
【发布时间】:2015-10-23 12:47:12
【问题描述】:

路由器

  resources :pcps  do
    collection do
      get 'autocomplete'
    end
  end

控制器

def autocomplete
    @pcps = Pcp.order(:last).where("last like ?", "%#{params[:term]}%")
    render json: @pcps.map(&:full_name)
end

查看

= f.text_field :pcp, data: {autocomplete_source:  '/pcps/autocomplete'}

咖啡脚本

此代码有效。我可以看到列表并选择一个。

jQuery ->
  $('#sched_pcp').autocomplete
    source: ["Atest", "Btest","Ctest","Dtest","Btest1","Btest2"]

此代码不起作用。如果我 curl localhost:3000/pcps/autocomplete?term=L 我得到 Jason 格式的列表,即使是面团也不会显示列表。

jQuery ->
  $('#sched_pcp').autocomplete
    source: $('#sched_pcp').data('autocomplete-source')

我正在使用 ruby​​ 2.2 和 rails 4.2 url '/pcps/autocomplete' 返回正确的数据。 有人可以帮我看看我的错误吗?或者给我一个如何调试它的想法。

【问题讨论】:

  • 只是说“此代码不起作用”。不允许我们帮助您。它怎么不工作?是否抛出错误?运行和行为是否与您的预期不同?
  • 你在哪里存储$('#sched_pcp').data('autocomplete-source', data);中的数据?...因为我猜$('#sched_pcp').data('autocomplete-source')是空的。
  • 这段代码没有给我任何失败的迹象,我一直在使用浏览器控制台。我希望有一个可供选择的名称列表。我确实在自动完成操作中插入了 byebug,我可以看到它工作。此外,如果我在浏览器中输入路径,我会得到名称列表的 jason 版本。
  • 事实是我没有解释我感到压力的问题!我正在尝试使用自动完成 jquery 插件,但它没有在 from 上显示选择列表。

标签: jquery ruby ruby-on-rails-4 autocomplete


【解决方案1】:

我突然想到我需要查看 jQuery 自动完成的输出,所以继续安装源代码的副本并放置一些调试器语句......就像魔术一样,它起作用了。

我不太喜欢这个,但它到底是怎么工作的,我没有时间继续挖掘。希望以后不要咬我。

顺便说一句,在进行调试之前我确实尝试了自动完成 gem,结果相同。

【讨论】:

    【解决方案2】:

    试试这个:

    在您的 gemfile 中

    gem 'rails3-jquery-autocomplete'
    

    捆绑安装

    在您的 application.js 中

    //= require autocomplete-rails
    

    在您的控制器中

    autocomplete :model_name, :column_name, :full => true
    

    在您的路线中

    resources :controller_name do
      get :autocomplete_model_name_column_name, :on => :collection
    end
    

    在你看来

    <%= autocomplete_field_tag 'column_name', '', autocomplete_model_name_column_name_controller_name_path %>
    

    希望这会对你有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多