2013-07-15 66 views
0

我正在使用名为“rails3-jquery-autocomplete”的宝石(https://github.com/crowdint/rails3-jquery-autocomplete如何禁用此消息?

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

当我输入一些东西到输入领域,而且也没有匹配的记录,它总是显示在说“不存在匹配”

我想禁用此消息的消息。可能吗?
我希望我能其源代码中看到自定义,但我不能:(

任何人都可以帮我这个? 这可能是这块蛋糕的人,但不适合我。

为了您的信息,我下面

$ bundle exec rake assets:precompile RAILS_ENV=production 

完成这个命令并在此之后也创造了一些js文件到文件夹public/assets

+0

你为什么不看源?它在这里:https://github.com/crowdint/rails3-jquery-autocomplete/blob/master/lib/assets/javascripts/autocomplete-rails-uncompressed.js,串61 –

+0

访问源链接https://开头github上。 COM/gfaraj/Rails3中,jQuery的自动完成/提交/ cde7e9477f237ef80321284f9c4b4375d740b77d – Debadatt

+0

我看到的来源和试图改变'标签:“没有现成的匹配”''到标签:“”',但它没有工作:( – HUSTEN

回答

1

看来是没有办法通过选择INT控制权,但我认为这可能是一个伎俩来解决你的问题。

而不是在没有搜索结果时返回空数组(从后端),尝试返回一个结果为空的id和标签可能会解决您的问题,所以在你的轨道控制器,会有这样的事情:

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 
} 

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

希望它能帮助,谢谢。

+0

感谢的回答:)我应该添加你的动作到使用这个自动完成的控制器吗? – HUSTEN

+0

我使用这个自动完成社区搜索,所以我只能够communities_controller.rb'自动完成这1行:社区:标题:全=> TRUE' – HUSTEN

+0

我认为你可以在块做到这一点'自动完成:community,:title,:full => true do | result | #尝试做在这里 end' –