我的数据库中有一个表,它将配置保存为yaml文件。
相应的列称为config
。
我想阅读前5个配置条目,然后将它们转换回yaml。
我在rails控制台中尝试过,如下所示:
Person.pluck(:config).first(5).each do {|c| c.to_yaml}
我知道这似乎是错误的。让我绊倒的第一件事是:
Person.first(5).pluck(:config)
会产生NoMethodError? 第二个问题:
to_yaml
方法将每个配置列的内容转换回yaml?答案 0 :(得分:1)
为什么Person.first(5).pluck(:config)会产生NoMethodError?
它产生NoMethodError
,因为您尝试将消息pluck
发送到没有这种方法的数组。
按照我上面的方式进行操作将首先采集所有配置,然后检索前5行,对吗?如何加快查询速度?
是的,这是正确的。如果您想从前五个记录中提取配置,请使用limit
:
Person.limit(5).pluck(:config)
有关如何将config
值解析为YAML的信息,请参阅this thread。