我有一个使用 Faker 帮助构建模拟数据的 gem。我想添加一个新类,使用 Faker 本身使用的相同语法生成新类别的东西。前半部分很简单,我只需定义类,并确保我的 gem 加载文件:
# lib/faker/restaurant.rb
module Faker
class Restaurant < Base
class << self
def name
parse('restaurant.name')
end
end
end
end
到目前为止,一切都很好。现在,为了描述可以从中得出什么值,我创建了一个 YAML 文件:
faker:
en:
restaurant:
suffix: [Cafe,Restaurant]
name:
- "#{Name.first_name}'s #{suffix}"
所以,实际的问题是:这个文件去哪里了,它应该有什么名字?如果这是一个 Rails 应用程序,它会是config/locales/faker.en.yml
. 在 gem 中,这似乎不起作用 - 一方面实际上没有“配置”目录,但为此目的创建它并没有帮助,我得到:
> Faker::Restaurant.name
I18n::MissingTranslationData: translation missing: en.faker.restaurant.name