2014-03-05 53 views
0

在模型我有一些國家翻譯ActiveRecord的集合下拉

STATES = ["in_progress", "active", "archived"] 

在我的形式我想有一個下拉/與

In Progress, Active, Archived for english 

ชำระ , ขัน , ยื่น in Thai 

選擇什麼處理這個問題的最好方法是什麼?我想到的

一個選項是以下

def self.states 
    @states = {} 
    STATES.each do |s| 
    @states[s] = I18n.t(s) 
    end 
    @states 
end 

有沒有更好的辦法?

+0

本地化與軌道。 http://railscasts.com/episodes/138-i18n – Emu

+0

我讀過整個本地化指南,這不包括在內,也不包括在railscasts –

回答

2

這是由simple_form支持:

在你看來,你應該只使用

<%= f.input :state, collection: ["in_progress", "active", "archived"] %> 

在你的YAML文件,你應該有

simple_form: 
    options: 
    defaults: 
     state: 
     in_progress: In progress 
     active: Active 
     archived: Archived 
+0

感謝您的答覆。我使用formtastic,但很多我可以看看代碼。 ! –