我需要将组添加到rails中已创建的自动完成下拉列表中。我不知道从哪里开始,我甚至不确定将它称为“群组”是否合适但我必须看起来像我发布的图片。如果有人能够至少指出我正确的方向开始,我将非常感激。
答案 0 :(得分:0)
我认为,您可以在类型(名词和动词)的句子表中添加枚举字段,或者如果句子可能同时具有两种类型,则可以为类型添加模型。
之后,您可以单独选择名词和动词,并制作像{ nouns: array_of_nouns, verbs: array_of_verbs }
这样的哈希值,并将其发送到您的JavaScript,您可以在两个单独的数组中进行搜索。
此外,你可以使用哈希而不是数组和第一个字母组的句子来加速搜索。例如,如果你有名词' r
,react
,ruby
,ruby-on-rails
和javascript
,您的hash_of_nouns
就像{ 'j' => [ 'javascript' ], 'r' => ['ruby', 'react', 'ruby-on-rails', 'r'] }
。在用户输入的第一个字符之后,您可以获取数组并在其中搜索。大量数据比简单array_of_nouns
要快得多。
答案 1 :(得分:0)
此解决方案适用于我:
<强>#分贝/迁移/ ... AddIndexFieldnameToTablename 强>
def change
add_index :tablename, :fieldname
end
<强>#应用程序/控制器/ yourtablenames_controller.rb 强>
autocomplete :tablename, :fieldname, scopes: [:scope_rule_name]
<强>#应用程序/模型/ yourtablename.rb 强>
scope :scope_rule_name, -> {group :fieldname}
关于如何为rails4应用自动填充功能,我已按照this指南进行操作。