【发布时间】:2024-01-21 12:06:01
【问题描述】:
我有一个很大的单词列表,可能有 300-600 个单词,我希望这样当我的用户开始输入单词时,应用程序会建议它从我的特定列表中找到的单词,这些单词与那个人的拼写很接近正在给予。有点像自动完成,但单词列表是动态的并且特定于该用户。关于我如何做到这一点的任何宝石或技术建议?
【问题讨论】:
-
一个选项是使用jQuery Autocomplete control。
-
对于这么短的单词列表,在客户端执行它可能是有意义的,即在页面加载时将整个单词列表发送到浏览器(而不是在每次击键时执行 Ajax 请求)和然后使用typeahead.js(或提到的 jQuery 插件 Nic)之类的组件来处理用户交互。
-
@Jordan 即使它必须通过一个对象数组并从数组中的每个对象中提取“名称”特征来获取单词表?
-
不知道你的实现细节很难说。您将不得不在某些时候完成这项工作,无论是在服务器上预先进行,在客户端预先进行,还是在每次按键时部分在服务器上进行。我建议现在做最简单的事情,如果遇到性能问题,以后再进行优化。 (就其本身而言,typeahead.js 应该以任何一种方式工作,许多其他此类组件也是如此。)
-
好的,我想我会在加载页面之前在操作中创建列表,谢谢您的建议。
标签: ruby-on-rails ruby ajax coffeescript mongoid5