删除由SimpleForm生成的select字段的空白选项

我有这段代码:

= f.input :category, :as => :select, :label => false, :collection => Choices["Categories"] 

选项[“类别”]只是key =>值对的散列。

SimpleForm生成一个包含所有必需选项的select字段,但它也使第一个选项变为空白。
此空白选项存在于由SimpleForm生成的所有select字段中。

但我不想有一个空白的select。 有没有办法摆脱它?

就像:allow_blank_option => false

我试图做一个这个属性的存在validation希望SimpleForm能够检测到它,但它没有帮助。

您可以传递一个include_blank: false, include_hidden: false选项:

 = f.input :category, :as => :select, :label => false, :collection => Choices["Categories"], include_blank: false, include_hidden: false 

或者您可以在模型中自定义callback动作,以删除数组参数中的任何空string,假定名称为“types”的参数:

 before_validation :remove_empty_string def remove_empty_string types.reject! { |l| l.empty? } end