【问题标题】:How can I disable this message?如何禁用此消息?
【发布时间】:2013-07-15 15:14:29
【问题描述】:

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

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

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

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

有人可以帮我解决这个问题吗? 这对某人来说可能是小菜一碟,但对我来说不是。

为了您的信息,我在下面完成了这个命令

$ bundle exec rake assets:precompile RAILS_ENV=production

然后它在public/assets文件夹中创建了一些js文件

【问题讨论】:

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


【解决方案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
 }

但我确实认为这绝对不是解决此问题的正确方法,但目前它是快速解决您的问题的解决方法。

希望对你有帮助,谢谢。

【讨论】:

  • 感谢您的回答:) 我应该将您的操作添加到使用此自动完成功能的控制器吗?
  • 我正在使用这个自动完成来进行社区搜索,所以我在 community_controller.rb autocomplete :community, :title, :full => true987654323@ 中只有这一行
  • 我认为你可以在autocomplete :community, :title, :full => true do |result| # try to do it here end区块中做到这一点
猜你喜欢
  • 1970-01-01
  • 2016-07-26
  • 1970-01-01
  • 1970-01-01
  • 2015-04-16
  • 2011-01-20
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多