我使用time_zone_select在我的复选框中列出所有时区。默认情况下,它显示列表如下:
(GMT-11:00) American Samoa
(GMT-11:00) International Date Line West
(GMT-11:00) Midway Island
.
.
.
etc.但是,我想把它展示如下:
American Samoa (GMT-11:00)
Alaska (GMT-09:00) 也就是说,我要先要城市名称,然后按名称排序。
我设法把它分类了,但是不能改变顺序。
= f.time_zone_select( "user", "time_zone", ActiveSupport::TimeZone.all.sort_by{|e| e.name}, model: ActiveSupport::TimeZone)发布于 2016-09-12 13:31:45
您可以使用select而不是time_zone_select来完成它。
= f.select( "user", "time_zone", ActiveSupport::TimeZone.all.sort_by(&:name).map{|e| "#{e.name}(GMT#{e.formatted_offset})"})发布于 2016-09-12 13:39:15
看看这里
这应该对你有用
<%= f.select("user", "time_zone", ActiveSupport::TimeZone.all.sort_by(&:name).map{|m|["#{m.name} (GMT#{m.formatted_offset})"]}, model: ActiveSupport::TimeZone) %>
# this comment is to avoid stack-overflow horizontal slider overlap for single line codes. ;phttps://stackoverflow.com/questions/39449988
复制相似问题