Cui*_*崔鹏飞 0 ruby activerecord ruby-on-rails rails-activerecord
使用活动记录时,我可以选择以下字段:
Model.select(:a_col,:b_col)
Run Code Online (Sandbox Code Playgroud)
如果模型定义了一些辅助方法,那么我这样做(感觉很蹩脚):
Model.all.map{|m|{a:m.a_col,b:m.b_col,c:m.someMethodCall()}}
Run Code Online (Sandbox Code Playgroud)
有没有办法像这样做?
Model.select(:a_col,:b_col,:someMethodCall)
Run Code Online (Sandbox Code Playgroud)
不,这是不可能的.select将符号转换为相应的SQL数据库列
Model.select(:foo)
Run Code Online (Sandbox Code Playgroud)
变
SELECT foo FROM models
Run Code Online (Sandbox Code Playgroud)
与...相反
SELECT * FROM models
Run Code Online (Sandbox Code Playgroud)
您的数据库不了解Ruby类中定义的方法.因此,您想要实现的目标是不可能的.
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |