2

我对编程很陌生,并且在处理看似非常简单的问题时遇到了困难。但我无法从我的研究中找到任何东西。

我创建了一个日期时间字段,该字段在表单中自动具有一个下拉菜单。我遇到的问题是菜单中的年份只到 2008 年。我需要它至少到 2000 年或更早。

这就是我的 form.html 的样子。

<div class="field">
  <%= f.label :start_date %><br />
  <%= f.datetime_select :start_date, :include_blank => true %>
</div>

任何帮助都会很棒!非常感谢,抱歉,这是一个新手问题。

4

2 回答 2

3

其他可能有用的选项:

从这里:http ://apidock.com/rails/ActionView/Helpers/DateHelper/date_select

选项

:use_month_numbers'- 如果您想使用月份数字而不是月份名称(例如“2”而不是“February”),请设置为 true。

:use_short_month- 如果您想使用缩写月份名称而不是完整月份名称(例如“Feb”而不是“February”),请设置为 true。

:add_month_numbers- 如果您想同时使用月份编号和月份名称(例如“2 - February”而不是“February”),请设置为 true。

:use_month_names- 如果要自定义月份名称,请设置为具有 12 个月份名称的数组。注意:您也可以为此使用 Rails 的 i18n 功能。

:date_separator- 指定一个字符串来分隔日期字段。默认为“”(即没有)。

:start_year- 设置年份选择的开始年份。默认为 Time.now.year - 5。

:end_year- 设置年份选择的结束年份。默认为 Time.now.year + 5。

:discard_day- 如果您不想显示日期选择,请设置为 true。这包括将日期作为隐藏字段而不是显示选择字段。另请注意,这隐含地将日期设置为给定月份的第一天,以免创建无效日期,例如 2 月 31 日。

:discard_month- 如果您不想显示月份选择,请设置为 true。这包括将月份作为隐藏字段而不是显示选择字段。另请注意,这隐含地将 :discard_day 设置为 true。

:discard_year- 如果您不想显示年份选择,请设置为 true。这包括将年份作为隐藏字段,而不是显示选择字段。

:order- 设置为包含 :day、:month 和 :year 的数组以自定义显示选择字段的顺序。如果您遗漏任何符号,则不会显示相应的选择(就像您设置 :discard_xxx => true 时一样。默认为在相应语言环境中定义的顺序(例如 [:year, :month, :day]与 Rails 一起提供的语言环境)。

:include_blank- 在每个选择字段中包含一个空白选项,以便可以设置空日期。

:default- 如果受影响的日期未设置或为零,则设置默认日期。

:disabled- 如果要将选择字段显示为禁用,请设置为 true。

:prompt- 设置为 true(对于一般提示)、提示字符串或提示字符串的散列:年、月、日、小时、分钟和:秒。设置此选项会在选择选项之前添加通用提示(日、月、年、小时、分钟、秒)或给定的提示字符串。

如果在 html_options 哈希中传递了任何内容,它将应用于集合中的每个选择标记。

注意:丢弃的选择将默认为 1。因此,如果没有可用的月份选择,则假定为一月。

于 2013-07-04T09:46:02.757 回答
0

您必须将开始年份传递到datetime_select,如下所示:

<%= f.datetime_select :start_date, { :include_blank => true, :start_year => 1995 } %>
于 2013-07-04T01:39:13.270 回答