2016-11-11 3 views
0

Я ищу простой способ создать выбор на нескольких языках. В настоящее время я использовал HELPER для хранения массива с параметрами SELECT.Создание массивов для нескольких языков

Helper

list = ["Book", "DVD", "Table", "Chair"] 
CATEGORY = Hash[*list.collect { |v| [v, list.index(v)] }.flatten] 

Посмотреть

<%= f.select :category, options_for_select(ApplicationHelper::CATEGORY, selected: 0), { :class => "selectpicker" } %> 

Если есть способ хоть как-то использовать файл LOCALE это было бы удивительно тоже.

ответ

1

Одним из решений было бы сохранить переводы в БД, Вы можете найти там несколько драгоценных камней, доступных как язык выберите

Если вы хотите, чтобы вытащить из вариантов перевода ваших YML файлов, я предлагаю options_for_select. В общем что-то вроде:

en.yml

en: 
    my_options: 
    0: "Book" 
    1: "DVD" 
    2: "Table" 
    3: "Chair" 

Вид:

<%= f.select :category, options_for_select(t("my_options").invert, selected: 0), { :class => "selectpicker" } %> 

Rails i18n дает хеш, если вы переводите ключ без листьев, как "my_options". Вам нужно инвертировать, потому что options_for_select ожидает текст перед значением, а хэш переноса - наоборот.

Вы можете больше узнать об этом, есть много способов сделать это, это один из них и простой способ.

Смежные вопросы