Рельсы I18n, заполнитель объекта ответа - PullRequest
0 голосов
/ 14 декабря 2018

На Rails i18n, Как мне организовать атрибут-заполнитель объекта ответа?

Я разрабатываю JSON API.Например, /api/v1/books/:id возвращает подобный объект.

{
  id: integer,
  name: string,
  author_name: string
}

Если автор книги удален или отсутствует, я хочу вернуть Unknown Author строку в качестве значения author_name.И я хочу управлять строкой Unknown Author с I18n.В каком пространстве имен лучше разместить заполнитель?

Я подумываю поставить его под view.как это,

views:
  books:
    show:
      unknown_author: Unknown Author

1 Ответ

0 голосов
/ 14 декабря 2018

Файлы локали могут быть организованы в соответствии с соглашениями рельсов.Таким образом, каталог 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}')]

Так что в файле локали просмотра книг мы можемнаписать:

    show:
      unknown_author: Unknown Author
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...