Ruby on rails 如何在Rails中使用postgresql函数
我在postgres中有一个带有出生日期的表,希望使用postgres age函数返回年龄,而不是在Rails中计算年龄(这是一个简单的示例,我希望在postgres中进行更复杂的计算) 从博士后那里得到年龄的最好方法是什么?我的其他记录最好作为标准,而不必修改每一个选择 编辑: 我决定使用视图,因为:Ruby on rails 如何在Rails中使用postgresql函数,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,我在postgres中有一个带有出生日期的表,希望使用postgres age函数返回年龄,而不是在Rails中计算年龄(这是一个简单的示例,我希望在postgres中进行更复杂的计算) 从博士后那里得到年龄的最好方法是什么?我的其他记录最好作为标准,而不必修改每一个选择 编辑: 我决定使用视图,因为: 我的数据库将被rails以外的其他应用程序使用,我想定义所有应用程序都可以使用的通用函数 我想通过多个应用程序控制对数据的访问 它会从应用程序服务器带走一些处理过程 如果我使用大量的计算字段,它
age
,该方法以前在Person
您还可以将新方法别名为函数名以外的其他名称:
people = Person.select('*, age(date_of_birth) as foo')
people.each { |person| puts person.foo }
这方面的技术也可能有用。不过,你仍然需要在ActiveRecord周围工作,认为它无所不知。同样,带有
select
调用的默认作用域可能会(也可能不会)有帮助。@muistooshort,谢谢你,请查看我的帖子更新。谢谢你的回复,这回答了我的直接问题,但是我决定使用不同的解决方案-请查看对我原始帖子的编辑。
people = Person.select('*, age(date_of_birth) as foo')
people.each { |person| puts person.foo }