Простая форма - перевод параметров поля ввода - PullRequest
3 голосов
/ 24 марта 2012

Я пытаюсь использовать функцию простой формы i18n, которая прекрасно работает в большинстве случаев.

Моя единственная проблема в том, что в одном случае я хочу использовать числа в качестве значений параметров, поэтому я не могу просто создать символ, как в других случаях.Прямо сейчас я использую это решение:

f.input :adm, :as => :select, :collection => [[:adm11 ,"11"], 
      [:adm00, "00"], [:adm06, "06"], [:adm99, "99"]]

Могу ли я каким-то образом заставить simple_form искать adm11 и так далее обычным образом, чтобы я мог сохранить разумную структуру в моем файле перевода?

Я знаю, что мог бы сделать это со стандартным ruby ​​i18n, но я ищу лучший способ.

Ответы [ 2 ]

6 голосов
/ 24 марта 2012
f.input :adm,
    :collection => [[:adm11 ,"11"], [:adm00, "00"], [:adm06, "06"],
                   [:adm99, "99"]],
    :label_method => lambda { |el| t "define.i18n.keys.here.#{el.first}" }
2 голосов
/ 24 марта 2012

Я думаю, что вы не можете сделать это из-за этой строки в SimpleForm:

collection_translated = translate_collection if collection_classes == [Symbol]

Таким образом, это означает, что SimpleForm переводит параметры, если это массив символов. Смотрите обсуждение здесь https://github.com/plataformatec/simple_form/pull/302

...