使用formtastic在rails中按字母顺序排序?

时间:2014-04-01 19:16:02

标签: ruby-on-rails sorting

我有一堆状态,我需要使用formtastic按字母顺序排序。有一个小警告。在州表中,我有一个州名为N / A'。 ' N / A'必须首先使用select form helper方法收集所有状态。这是我目前的代码:

f.input :state, :as => :select, :collection => State.all,  :include _blank => false

如何放置' N / A'集合顶部的州名,其后是按字母顺序排列的其他州?例如:' N / A,阿拉巴马州,阿拉斯加州等......'。

感谢大家的帮助/线索。

1 个答案:

答案 0 :(得分:1)

尝试:

f.input :state, 
        :as => :select, 
        :collection => State.all.sort_by(&:name), 
        :prompt => 'N/A'

使用State.all.sort_by(&:name)按州名称属性排序,并使用prompt: 'N/A'N/A显示为select中的第一个选项。

或者,使用以下命令在db中进行排序:

f.input :state, 
        :as => :select, 
        :collection => State.order(:name), 
        :prompt => 'N/A'