如何在 Rails 中为 simple_form 中的关联实现自动完成 6

How to Implement Autocomplete for Association in simple_form in Rails 6

我目前在Rails建一个图书处理项目 6.有两个模型BookCategories,Category可以包含很多本书但是一本书只能属于一个类别。我目前正在使用 simple_form f.association 来建立表单关联,从而创建一个类别下拉菜单。

new.html.erb 书中

    <section class="mt-8">
    <%= simple_form_for @book, defaults: { input_html: {class: 'form-input mt-1'}, wrapper_html: {class: 'flex flex-col my-2'}} do |f| %>
    <%= f.input :title %>
    <%= f.input :description, input_html: {class: 'form-textarea'} %>
    <%= f.input :amazon_url %>
    <%= f.association :category, collection: Category.all.order(name: :asc),input_html: {class: 'form-select'} %>
    <%= f.button :submit, 'Create New Book', class: 'mt-4 p-2 rounded-md bg-gray-400' %>
    <% end %>
</section>

我希望类别列表成为自动完成输入。我如何在 Rails 中实现它 6. 我尝试了各种库,但它们都已过时。

Chosen 支持 Rails 6.

经过大量挖掘,我找到了 Choices 库。它完全基于 javascript,并且由于 Rails 6 的 webpack 资产编译,可以无缝运行。

我已经写了一篇博客post。 https://aswinmohan.me/posts/implementing-autocomplete-in-rails-6/