2010-09-15 174 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}