2016-11-11 10 views
0

複数の言語でselectを簡単に作成する方法を探しています。現在、私はHELPERを使用して、SELECTオプションの配列を格納しています。複数の言語の配列を作成する

ヘルパー

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

一つの解決策は、DB内の翻訳を維持するだろう、あなたは検索することができ、言語のように利用可能な複数の宝石があります

を選択し、あなたの翻訳YMLファイルからオプションを引くしたい場合は、私はoptions_for_selectを示唆しています。すべてすべての何かのように:

en.yml

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

ビュー:あなたは "my_options" のような非リーフキーを、翻訳した場合

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

Railsの国際化は、あなたのハッシュを提供します。 options_for_selectは値の前のテキストを期待し、変換ハッシュは逆の方法ですので、逆変換が必要です。

あなたはそれについてもっと多くを探ることができます。これを行う方法はたくさんあります。

関連する問題