Разные названия для разных типов компаний в Rails 3?

#ruby-on-rails

#ruby-on-rails

Вопрос:

Пользователи, регистрирующиеся на нашем сайте, будут иметь разные типы компаний (врачи, адвокаты и т.д.) И, следовательно, будут использовать разный жаргон во всем приложении. Например, врач увидит «Информацию о практике», а адвокат — «Информацию о фирме».

Это задание для локализаций в Rails 3, или есть лучший метод или даже драгоценный камень?

Комментарии:

1. IMO, locales подходит для этого. Создайте файлы типа doctor.en.yml , attorney.en.yml . Или, может быть, более широкие имена, такие как medical.en.yml / law.en.yml .. как вам больше нравится.

2. @Zabba: Спасибо! Но где мне поместить логику, чтобы определить, какой язык использовать?

Ответ №1:

В этом случае хорошо бы работали локали. Вы можете установить local во время обработки вашего контроллера, прежде чем представление начнет обрабатываться. Проверьте http://guides.rubyonrails.org/i18n.html для получения множества отличных подробностей о том, как управлять вашими файлами yml и загружать их, а также как устанавливать значение по умолчанию и изменять локаль по запросу. По сути, вам просто нужно сделать что-то вроде:

 before_filter :set_locale

def set_locale
   I18n.locale = @user.company_type_locale_code
end