我有一个模型,我喜欢我可以使用的采摘方法如果我这样做:
@x = AwesomeModel.all.pluck(:column_one, :column_two)
然后我得到一个多维数组:@x[][]用我的悲伤技巧,我用数字和他们一起工作:
@x[0][1]
我怎样才能使用cluck或类似的方法访问数组,如下所示:
@x[0][:column_two]
最佳答案
如果您关心的是从数据库中获得的内容的结构,那么您只需执行以下操作:
@x = AwesomeModel.all.select(:column_one, :column_two)
然后保持fast db query advantage+有
AwesomeModel
个实例,但只有column_one
和column_two
个实例或者如果你想手动操作:
@x = AwesomeModel.all.pluck(:column_one, :column_two).map do |array|
OpenStruct.new({column_one: array[0], column_two: array[1] }) }
end
然后可以像普通模型一样使用它:
@x[0].column_one
# or even
@x[0][:column_two]
关于ruby-on-rails - 采摘的好阵列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25767243/