在Rails i18n上,如何组织响应对象的属性占位符?
我正在开发JSON API。
例如,/api/v1/books/:id
返回这样的对象。
{
id: integer,
name: string,
author_name: string
}
如果这本书的作者被删除或缺席,我想返回Unknown Author
字符串作为author_name
的值。
我想用I18n管理字符串Unknown Author
。
放置占位符的位置最好是哪个命名空间?
我正在考虑将其放在view
下。像这样
views:
books:
show:
unknown_author: Unknown Author
答案 0 :(得分:0)
可以根据rails约定组织区域设置文件。因此config / locales目录为:
|-defaults
|---es.rb
|---en.rb
|-models
|---book
|-----es.rb
|-----en.rb
|-views
|---defaults
|-----es.rb
|-----en.rb
|---books
|-----es.rb
|-----en.rb
|---users
|-----es.rb
|-----en.rb
|---navigation
|-----es.rb
|-----en.rb
要访问这些语言环境,我们需要明确告诉rails:
# config/application.rb
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]
因此,在books views语言环境文件中,我们可以编写:
show:
unknown_author: Unknown Author