Dan*_*ark 2 html-select ruby-on-rails
我有一个看起来像这样的选择框(在form_for中)
<%=f.select(:whatever_id, {"blah"=>0, "blah2"=>1, "blah3"=>2, "blah4"=>3}, {:include_blank => true}) %>
Run Code Online (Sandbox Code Playgroud)
输出很好,但很奇怪......像这样:
<select id="personal_information_whatever_id" name="personal_information[whatever_id]"><option value=""></option>
<option value="1">blah2</option>
<option value="2">blah3</option>
<option value="0">blah</option>
<option value="3">blah4</option></select>
Run Code Online (Sandbox Code Playgroud)
但我希望它按顺序排列......发生了什么,我该如何纠正呢?
编辑:我觉得答案与此有关
您永远无法保证任何带有哈希的订单.您可以尝试使用.sort()按字母顺序对值进行排序.
哈希有什么我可以使用的吗?
小智 9
是的,您应该使用数组数组.您的示例最简单的方法是这样的:
<%=f.select(:whatever_id, [["blah", 0], ["blah2", 1], ["blah3", 2], ["blah4", 3]], {:include_blank => true}) %>
Run Code Online (Sandbox Code Playgroud)
这应该足够了.看看api.rubyonrails.com上的文档.