我有一个简单的 YAML 数组,其值如下
%YAML 1.1
---
-
- 'd7744c3878'
- '80705686'
-
- 'c349b086b1'
- '80705686'
-
- '516e25d139'
- '95203563'
我尝试使用以下代码对其进行迭代并将它们添加到数据库中。
YAML.load_file("db/tokens.yml").each_value do |yml_token|
token = Token.find_or_create_by_token_origin(
token_origin: yml_token[0],
token_value: yml_token[1])
end
但是NoMethodError: undefined method each_value for #<String:0x000000059ab7f8>
在尝试运行代码时出现错误。
知道是什么原因造成的吗?
更新:
按照下面的建议使用Psych.load
我也会收到SyntaxError: db/gallery_tokens.yml:1: unknown type of %string
%YAML 1.1
错误消息。
require "psych"
Psych.load("db/tokens.yml").each do |yml_token|
token = Token.find_or_create_by_token_origin(
token_origin: yml_token[0],
token_value: yml_token[1])
end