Ruby on Rails - simple_form 复选框集合与"other"复选框



我使用simple_form,表单代码中有这个:

<%= f.input :fruit, as: :check_boxes, collection: ['Apple', 'Orange', 'Other'] %>

所以我想在旁边有一个与"其他"字段相关联的文本输入,这样用户就可以点击"其他"并输入自己的水果名称。我该怎么做
我尝试过像f.input(...)一样将其作为集合项之一,也尝试过将其添加到do块中,但这一切似乎完全无关
我如何得到我想要的行为?非常感谢。

您可以这样做:

# view
<%= text_field_tag :alternative_fruit %>
# controller
if params[:alternative_fruit].present? && params[:your_model_name][:fruit].select(&:present?).blank?
  params[:your_model_name][:fruit] = params[:alternative_fruit]
end

如果您没有选择具有替代名称的复选框(如果您定义了一个),这将覆盖水果名称。

最新更新