2012-06-26 181 views
1

在一個Rails應用程序重命名一個單一的元素,我有一個數組,它是項類型的列表:["steps", "calories", "water", "sodium", "sugar", "fruits_veggies"]在選擇下拉

在我看來,我創建一個選擇框來選擇一個以上條目類型:.controls= f.select :type, entry_type_options

這工作得很好,但我想在下拉框中將「fruits_veggies」替換爲「fruits & veggies」。我怎樣才能做到這一點的單一價值? options_for_select看起來很有前途,但我不確定採取什麼路線。

請注意,我使用一個幫手「entry_type_options」:

def entry_type_options                                                     
    @entry_type_options ||= Entry::TYPES.map {|t| [t.capitalize, t] }                                          
end 

回答

1

這肯定是往上太晚的情況。我只是改變了幫手:

def entry_type_options                                                     
    @entry_type_options ||= Entry::TYPES.map {|t| (t == "fruits_veggies") ? ["Fruits & Veggies", t] : [t.capitalize, t]}                             
end 
+0

我寧願在Entry類中創建一個靜態函數,它會返回你在助手中做的事情。 – oldergod