ActiveRecord:如何将 select 辅助方法结果作为字段?

ActiveRecord: how to select helper method result as a field?

当使用活动记录时,我可以 select 像这样的字段:

Model.select(:a_col,:b_col)

如果模型定义了一些辅助方法,那么我正在这样做(感觉很蹩脚):

Model.all.map{|m|{a:m.a_col,b:m.b_col,c:m.someMethodCall()}}

有这样的方法吗?

Model.select(:a_col,:b_col,:someMethodCall)

不,这是不可能的。 select 将符号翻译成相应的 SQL 数据库列

Model.select(:foo)

变成

SELECT foo FROM models

相反
SELECT * FROM models

您的数据库不知道 Ruby class 中定义的方法。因此,您想要实现的目标是不可能的。