simple_form复选框集合"其他"复选框

时间:2014-04-17 15:50:00

标签: ruby-on-rails checkbox simple-form

我使用simple_form并在我的表单代码中使用此代码:

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

所以我希望在其旁边有一个与“其他”字段关联的文本输入,以便用户可以点击“其他”并输入他自己的水果名称。我该怎么做? 我尝试使用f.input(...)作为收藏品之一,我也尝试在do块中添加它,但这一切似乎完全无关紧要。
我如何得到我想要的行为?谢谢。

1 个答案:

答案 0 :(得分:2)

你可以这样做:

# 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

如果您没有选择带有替代名称的复选框,如果您定义了一个名称,则会覆盖水果名称。