加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 将Active Record集转换为哈希数组

发布时间:2020-12-17 04:06:11 所属栏目:百科 来源:网络整理
导读:我看到了这个… How to convert activerecord results into a array of hashes 并且想要创建一个允许我将任何作用域或非作用域记录集转换为散列数组的方法.我把它添加到我的模型中: def self.to_hash to_a.map(:serializable_hash) end 但是,我收到此错误.
我看到了这个…

How to convert activerecord results into a array of hashes

并且想要创建一个允许我将任何作用域或非作用域记录集转换为散列数组的方法.我把它添加到我的模型中:

def self.to_hash
   to_a.map(&:serializable_hash)
 end

但是,我收到此错误.

NameError: undefined local variable or method `to_a' for #<Class:0x007fb0da2f2708>

任何的想法?

解决方法

你可能也需要打电话给所有人.只是to_a可以在范围或现有结果集(例如User.active.to_hash)上正常工作,但不能直接在模型上工作(例如User.to_hash).使用all.to_a将适用于这两种方案.

def self.to_hash
  all.to_a.map(&:serializable_hash)
end

请注意,all.to_a有点重复,因为所有已经返回一个数组,但在Rails 4中它将是必要的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读