Chang autocomplete-rails搜索字符串的所有部分而不仅仅是开头

时间:2013-05-21 13:47:50

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

我有一些自动填充字段,我希望用户能够输入搜索字词的任何部分以获得正确的结果。例如,如果他们输入“ang”,他们会得到天使和洛杉矶。我试着在没有运气的情况下将源代码更改为数组:

$.widget( "ui.autocomplete", {
version: "1.10.2",
defaultElement: "<input>",
options: {
    appendTo: null,
    autoFocus: false,
    delay: 300,
    minLength: 1,
    position: {
        my: "left top",
        at: "left bottom",
        collision: "none"
    },
    source: Array,

我是否需要在autocomplete-rails.js文件中的某处进行更改?谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

我认为你需要在轨道末端改变一些东西,因为像那样的模式匹配不是随时可用的客户端。我想你需要覆盖自动完成用来查找结果的方法来使用更像

的方法
City.where('name = ?, ["%#{params[:name]}"])

我不是SQL的专家,但你明白了。

答案 1 :(得分:0)

答案是在autocomplete-rails的文档中是正确的:

 :full =&gt;真

默认情况下,搜索从您要搜索的字符串的开头开始。如果要进行完整搜索,请将完整参数设置为true。

class ProductsController < Admin::BaseController
  autocomplete :brand, :name, :full => true
end

https://github.com/crowdint/rails3-jquery-autocomplete