如何使用 rails 形式的文本 select 集合中的对象

how to select a object from a collection using text in rails form

我想在 rails 表单中的给定选项中输入文本 select。

f.collection_select(:user_id, User.all, :id, :name)

最接近我想要的,但是用户太多无法显示为下拉列表。

我试过rails-jquery-autocomplete,之前我也写过ajax将搜索结果插入到视图中,但这一切似乎都太冗长了在 2019 年只是将 select 框转换为文本输入。 如果有以 rails 形式过滤给定对象集合的最佳实践,我想知道。谢谢。

我想选择的 js 库可能是一个值得考虑的好选择,还有一个 rails 包装器 gem 可用于此 (https://github.com/tsechingho/chosen-rails)

在您的 gem 文件中包含 gem 并 运行 捆绑安装

gem 'chosen-rails'

将以下内容添加到 application.js

//= require chosen-jquery

将以下内容添加到 application.scss

*= require chosen 

用法示例:

设置完成后,您可以按如下方式使用它

<%= select_tag :users, options_for_select(User.all),class:"form- 
control",multiple:true id:chosen-select" %>

并在 java 脚本中初始化如下

$('#chosen-select').chosen();

您可以参考其官方页面 (https://harvesthq.github.io/chosen/) 中提供的各种选项库,并根据您的用例对其进行自定义。