2016-11-11 68 views
0

我正在尋找一種簡單的方法來創建具有多種語言的選擇。目前,我已使用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,您可以搜索有可用的語言一樣選擇

如果你想從你的翻譯文件陽明海運拉選擇了多種寶石,我建議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的國際化給你一個哈希值,如果你翻譯一個非葉鍵,如 「my_options」。你需要反轉,因爲options_for_select需要在值之前的文本,而翻譯哈希是相反的。

你可以探索更多關於它有很多方法可以做到這一點是其中之一和簡單的方法。