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