如何禁用此消息?

时间:2013-07-15 06:54:03

标签: ruby-on-rails ruby-on-rails-3

我正在使用名为“rails3-jquery-autocomplete”的宝石(https://github.com/crowdint/rails3-jquery-autocomplete

它工作正常:)但是有一件事我想要禁用。

当我在输入字段中输入内容并且没有匹配的记录时,它总是会显示“没有现有匹配”的消息

我想禁用此消息。有可能吗?
我希望我能看到它的源代码里面有自定义但我不能:(

任何人都可以帮我这个吗? 对于某些人而言,这可能是件小事,但不适合我。

为了您的信息,我已经完成了以下命令

$ bundle exec rake assets:precompile RAILS_ENV=production

之后,它将一些js文件创建到public/assets文件夹

1 个答案:

答案 0 :(得分:1)

似乎没有办法将选项传递给控件,​​但我认为这可能是解决问题的技巧。

当没有搜索结果时,不是返回空数组(来自后端),而是尝试返回一个数组,其中一个结果具有空ID,标签可能会解决您的问题,所以在您的rails控制器中,会出现这样的情况:

def autocomplete_action
    result = do_the_search 
    if result.count == 0
      result = [{ id: "", label: "" }] # !! do the trick here
    end

    respond_with result # assume you have "respond_to :json" in your controller
end

这就是我这样做的原因:

我认为这可能有效的原因是因为如果没有结果返回,自动完成控件将构建一个id等于空的假记录代表无结果

 if(arguments[0].length == 0) {
    arguments[0] = []
    arguments[0][0] = { id: "", label: "no existing match" } // hacked here
 }

但我认为这绝对不是正确解决此问题的方法,但是现在它可以快速解决您的问题。

希望它有所帮助,谢谢。