是否可以从我的 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')
我最大的愿望是在 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')