【问题标题】:Array returns first element blank in my Rails(3.2.11) multi-select数组在我的 Rails(3.2.11) 多选中返回第一个元素空白
【发布时间】:2019-11-25 05:43:13
【问题描述】:

当我从选择列表中选择多个值时,数组将第一个值返回为空。

= f.select :assignedto, options_from_collection_for_select(User.all, 'name', 'name',f.object.assignedto),{}, { :multiple => true}

我尝试使用 {:include_blank => false}{:include_hidden => false} 但这不适用于 rails 3.2.11。我有很多解决方案可以在控制器中处理这个空值,但我想停止在数组中添加空值。

【问题讨论】:

  • 这是一个很长的镜头,但你能确认第一个用户的name不是nil/empty string吗?
  • @SikandarTariq 是的,我确认第一个用户的名称不是 nit 或空的。如果我选择超过 1 个名称,那么它也会添加空值

标签: ruby-on-rails ruby ruby-on-rails-3 haml


【解决方案1】:

因为第二个参数是'name' 而不是'id'

试试 options_from_collection_for_select(User.all, 'id', 'name', f.object.assignedto)

【讨论】:

  • 谢谢您的回复!!但它不工作。我试图将'name' 更改为'id'
  • 请问f.object.assignedto的初始值是多少?
  • 初始值为第一个用户名
  • 初始值可以是你要默认选择的用户id吗?或者它必须是name
  • 默认选择的值是 name 而不是 id。
猜你喜欢
  • 2012-02-14
  • 2016-10-31
  • 1970-01-01
  • 2011-07-12
  • 2020-12-19
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
  • 2018-10-23
相关资源
最近更新 更多