Rails - 在控制器中调用模型方法

时间:2016-02-13 00:34:22

标签: ruby-on-rails postgresql

基本上,我的模型中有一个日期时间字段,我希望将其作为一个年龄返回。我的问题是,如何让@student_age成为一个年龄段?

顶部图像是我的控制器。 底部图像是我的模型方法,它输入SQL查询。

enter image description here

2 个答案:

答案 0 :(得分:1)

Student.select('date_part("year", age(dob))')

答案 1 :(得分:1)

我没有得到你想要的东西,但如果你想让你的查询自动返回一个数组,你可以这样做。

在rails 4中,您可以添加pluck以返回数组。

Student.select('date_part("year",age(dob)').pluck(:date_part)

在rails 3中,你可以这样做。

Student.select('date_part("year",age(dob)').collect{|x| x.date_part}

输出将是这样的 [24,13,56,34]