Ruby on Rails日期时间选择器

3
我想知道是否有一种方法可以将datetime_select的24小时制时钟转换为12小时制时钟?
2个回答

13

Rails 3.1内置了上午/下午(am/pm)选项:

<%= f.datetime_select :starttime, :ampm => true, :start_year => 2011, :order => [:month, :day, :year] %>

3
这需要在文档中更加明显地表述。除了这里之外,我在任何地方都找不到这个信息。回答很好。 - Eric

1

看起来没有预定义的辅助程序可以自动完成此特定工作。你必须扩展并编写自己的辅助程序来实现这个功能。

另外,这是一个非常旧的插件,我不确定它是否有效或仍在维护,对于类似的事情。

我建议您前进并编写自己的辅助程序,以按照另一个 SO 问题中的建议完成工作:

def am_pm_hour_select(field_name)
select_tag(field_name,options_for_select([
    ["1 AM", "01"],["2 AM", "02"],["3 AM", "03"],["4 AM", "04"],["5 AM", "05"],["6 AM", "06"],
    ["7 AM", "07"],["8 AM", "08"],["9 AM", "09"],["10 AM", "10"],["11 AM", "11"],["Noon", "12"],
    ["1 PM", "13"],["2 PM", "14"],["3 PM", "15"],["4 PM", "16"],["5 PM", "17"],["6 PM", "18"],
    ["7 PM", "19"],["8 PM", "20"],["9 PM", "21"],["10 PM", "22"],["11 PM", "23"],["Midnight", "0"]]))
end

然后在视图中:

<%= am_pm_hour_select "eventtime[start(4i)]" %>  

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接