【问题标题】:simple_form checkboxes collection with "other" checkbox带有“其他”复选框的 simple_form 复选框集合
【发布时间】:2014-04-17 15:50:00
【问题描述】:

我使用simple_form 并在我的表单代码中有这个:

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

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

【问题讨论】:

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


    【解决方案1】:

    你可以这样做:

    # 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
    

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

    【讨论】:

    • 谢谢。是的,我考虑过这种通过 css 自定义和控制器处理添加不同字段的方法,但认为会有更好的方法。带有标签的选项与选择输入相关联,因此当我选择该选项或单击标签时,会自动选择输入字段。似乎需要相当多的低级编码来完成 CSS/JS。
    • 如果它适合您的问题,您应该接受答案
    猜你喜欢
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 2018-10-19
    相关资源
    最近更新 更多