我正在使用best_in_place和主动管理员。如果枚举下拉,我似乎可以让它工作。
使用的枚举是:
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 :(得分: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] }
希望能让你到达某个地方!