2017-03-01 34 views
0

我正在使用best_in_place與活動管理員。我似乎可以在枚舉下拉的情況下使用它。枚舉在下拉菜單中使用best_in_place和activeadmin

使用中的枚舉是:

enum day: [MONDAY.to_s, TUESDAY.to_s, WEDNESDAY.to_s, THURSDAY.to_s, FRIDAY.to_s, SATURDAY.to_s, SUNDAY.to_s] 

每個常數都只是想:

MONDAY = "monday" 

我試着對列使用best_in_place:

column :day do |d| 
    best_in_place d, :day, as: :select, url: [:admin,d], collection: Order.days.enum_for(:each_with_index).collect{|k,index| [k[0], index]} 
end 

這說明一個0,1,2的列表,但按預期工作。

我已經試過類似的變化:

Order.days 
Order.days.keys 

Order.days.keys給人的天列表。但它沒有拿起已經設定的一個。例如。星期二已經被設置,它顯示爲空。並沒有設置它。

我希望下拉列表中的日期名稱一起工作。任何幫助?

回答

0

我還沒有和您的確切安裝工作,但執行下列幫助使用best_in_place允許在我的項目枚舉驅動選擇類別:

best_in_place host, :platform, as: :select, collection: Host.platforms.keys.map { |w| [w, w] } 

這將設置選擇值和下拉項目爲相同。或者,如果您想使其更具可讀性,您可以執行以下操作:

Host.platforms.keys.map { |w| [w, w.humanize] } 

希望能讓您獲得某個位置!