我想要一个文本输入来选择我的rails表单中的给定选项。
f.collection_select(:user_id, User.all, :id, :name)
是最接近我想要的,但有太多的用户显示为下拉列表。
我已经尝试过rails-jquery-autocomplete,并且我已经编写了一个ajax来将搜索结果插入到视图之前,但是在2019年它只是为了将选择框转换为文本输入而显得过于冗长和冗长。如果有一个以rails形式过滤给定对象集合的最佳实践,我想知道。谢谢。
我猜选择的js库可能是一个很好的选择,并且还有一个rails wrapper gem(https://github.com/tsechingho/chosen-rails)
在gemfile中包含gem并运行bundle install
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/)中参考各种选项库,并根据您的用例进行自定义。