2010-09-15 139 views
1

我想返回一个带有奥兰的国家的分页列表,来自阿塞拜疆,而不是津巴布韦之后。换句话说,我想忽视特殊字符,并简单地将科特迪瓦的“A”和“ô”视为常规的“o”。有没有Rails方法或gem来做到这一点,或者我需要执行某种自定义SQL(如果是这样,什么样的)?Rails使用自然排序顺序排序查找和排序

回答

1

看看How do I replace accented Latin characters in Ruby?

您应该能够按其标准化名称对国家进行排序。

喜欢的东西:

@countries.sort{|x,y| x.name.chars.normalize(:kd).gsub(/[^\x00-\x7F]/n,'').downcase.to_s <=> y.name.chars.normalize(:kd).gsub(/[^\x00-\x7F]/n,'').downcase.to_s}