Rails:simple_form:从checkbox集合中获取一个空字符串

n00*_*00b 22 ruby-on-rails simple-form

我的观点中有以下代码

<%= f.input :role_names, as: :check_boxes, collection: @program.role_names %>

每当我提交表格时,我都会得到类似的价值,["admin, "moderator", ""]但我期待的是["admin, "moderator"],为什么会这样?

此外,我制作了一个检查元素,并且<input name="user[role_names][]" type="hidden" value="">在最后一个复选框之后,在​​同一个控制组内有一个标记.我想这会在最后添加params[:user][:recipient_role_names].

我该怎么处理?我知道我可以做一个reject(&:blank?)但是有更清洁的方法params[:user][:recipient_role_names]吗?我也想知道为什么要添加输入元素?它是一个简单形式的错误还是我做错了什么?

其他信息:

  1. simple_form gem版本:2.0.4
  2. rails版本:3.2.8

Vas*_*ich 17

这是Rails的功能.您将能够在Rails 4中禁用它.您可以在简单的表单问题#603Rails问题#5402上阅读更多相关信息.

  • 你可以在这里阅读解释http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-check_box(它的问题部分) (2认同)