我使用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
如果您没有选择具有替代名称的复选框(如果您定义了一个),这将覆盖水果名称。