我有一个简单的数组:
@fields = %w(full_name name pseudo).map{ |key| I18n.t("users.security.#{key}", locale: :en) }
在收集表单中,我想获取一个整数(如数组索引)。
<%= f.input :display_name,
:as => :select,
:collection => @fields,
%>
显示为:
<option selected="selected" value=0>full name</option>
<option value=1>name</option>
<option value=2>pseudo</option>
我该怎么做?
答案 0 :(得分:1)
您需要传递一个长度为2的数组,其中包含选项值和选项显示名称。
由于已经具有显示名称的数组,因此可以按以下方式构造必要的数组:
f.input :display_name,
as: :select,
collection: @fields.map.with_index { |v, i| [i, v] }