我在模型中有一个定义了哈希的类。
{:"manager" => 1, :"staff" => 2}.freeze
在我的形式部分。
<li class="field">
<%= f.label :position_type %><br />
<%= f.select :position_type, @person.position_types, {:include_blank => true} %>
</li>
因此,当我按下submit
show.html.erb 中的按钮时,我只能看到所选值的值,但看不到我想要的键。
问:如何调整它以使其显示key
而不是values
. 我知道这与select
tag 而不是hash
.
PS:
我已经使用过
array
,它正在做我想做的事。hash.invert
它确实在 show.html.erb 中显示,keys
但在 new/edit.html.erb 中没有显示,因为尝试填写表单的用户无法记住要到达的键 => 值,所以这种方式并没有太大帮助键作为输出。
我只是好奇select
在 Rails 中是如何获取 HTMLname
和value
attirb 的。我假设由于hash已经value
为每个关联key
的 ,rails在提交表单时隐含地采用key's
value
as HTML属性。value