使用活动记录时,我可以选择以下字段:
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)
答案 0 :(得分:6)
不,这是不可能的。 select
将符号转换为相应的SQL数据库列
Model.select(:foo)
变为
SELECT foo FROM models
与
相反SELECT * FROM models
您的数据库不了解Ruby类中定义的方法。因此,您无法实现的目标。