【发布时间】:2013-08-25 20:02:39
【问题描述】:
我的User 模型中有一个名为display_name 的方法。在我的控制器中,我想按字母顺序按display_name 对所有User 对象进行排序。 display_name返回一个字符串,我该怎么做?
用户
def display_name
if !addressbook.b_company.nil?
if addressbook.b_company.downcase[0..3] == "the "
addressbook.b_company[4..-1]
else
addressbook.b_company
end
else
"#{addressbook.b_lastname}, #{addressbook.b_firstname}"
end
end
【问题讨论】:
-
我已经在使用这个 gem:github.com/versioneye/naturalsorter 来对我的应用程序中的各种内容进行排序。如果没有其他方法,我不介意使用这个宝石。
-
你的代码有点味道:你不需要在读取属性时使用
self,此外,关键字return在ruby中是可选的,可以删除,因为所有方法将返回最后评估的表达式
标签: ruby-on-rails sorting methods collections models