Ruby on rails SimpleForm:创建自定义关联集合输入类型
我知道我可以创建一组单选按钮,如下所示:Ruby on rails SimpleForm:创建自定义关联集合输入类型,ruby-on-rails,custom-controls,simple-form,Ruby On Rails,Custom Controls,Simple Form,我知道我可以创建一组单选按钮,如下所示: # Slim template = f.association :requirement, as: :radio_buttons 我想让用户使用单选按钮上方的文本字段过滤单选按钮,因此我进行了一些尝试,得出以下结论: label for="filter" Filter input#filter type="text" = f.association :requirement, as: :radio_buttons 现在,我想使用自定义集合输入类型自动
# Slim template
= f.association :requirement, as: :radio_buttons
我想让用户使用单选按钮上方的文本字段过滤单选按钮,因此我进行了一些尝试,得出以下结论:
label for="filter" Filter
input#filter type="text"
= f.association :requirement, as: :radio_buttons
现在,我想使用自定义集合输入类型自动创建这些内容:
= f.association :requirement, as: :autocomplete
所以我尝试创建一个自定义输入,但没有成功
我创建了以下自定义输入:
# app/inputs/autocomplete_input.rb
class AutocompleteInput < SimpleForm::Inputs::CollectionRadioButtonsInput
# ...
end
但这导致了一个相当奇怪的错误:
Circular dependency detected while autoloading constant AutocompleteInput
现在我不知道如何继续。我已经为简单的字符串和文本区域输入创建了几个自定义输入,但是对于集合,我不知道如何继续。问题来自于这行CollectionRadioButton输入
@builder.send(:"collection_#{input_type}",
attribute_name, collection, value_method, label_method,
input_options, merged_input_options,
&collection_block_for_nested_boolean_style
)
这将调用collection\u autocomplete方法
我的解决方案:不要从CollectionRadioButtonsInput扩展。复制其源并修改它。不干净,但会起作用。我不知道这是否会有帮助,但似乎有一个关于这个确切问题的公开问题。也许你可以从那里得到你想要的东西?你想知道如何创建自定义输入的问题的答案,还是想知道如何让自动完成工作因为你选择的道路似乎不是你想要解决的问题的正确解决方案。我也有同样的问题。
Circular dependency detected while autoloading constant AutocompleteInput
@builder.send(:"collection_#{input_type}",
attribute_name, collection, value_method, label_method,
input_options, merged_input_options,
&collection_block_for_nested_boolean_style
)