是否可以从我的 yml 文件中使用 gem faker?

Is it possible to use gem faker from my yml file?

我最大的愿望是在 yml 文件中使用 gem faker。我知道这种方式是错误的,但是可以这样做吗?

查看我的代码:

------yml文件-----

:usuarios:
  :ncpf:             Faker::Number.number
  :birth             Faker::Date.birthday

---我的页面(site-prism)-----

def new_user
    cpf.set(DADOS[:users][:ncpf])
    dt_birth.set(DADOS[:users][:birth])
end

开箱即用,这是普通 YAML 做不到的。但是当你在解析之前通过 ERB 运行 你的 YAML 文件时,你就可以做到这一点。

将您的 YAML 更改为

:users:
  :ncpf:   <%= Faker::Number.number %>
  :birth:  <%= Faker::Date.birthday %>

然后像这样阅读文件

require 'erb'
require 'json'

file = File.read('path/filename.yml')
yaml = ERB.new(file).result

DADOS = YAML.load(yaml)

顺便说一句,这就是 Rails 在内部对配置文件所做的。因此,当您使用 Rails 时,您可以使用此简化版本加载该文件

DADOS = ActiveSupport::ConfigurationFile.parse('path/filename.yml')