【问题标题】:Can I display both (and only) month and year in a date_select helper tag?我可以在 date_select 辅助标签中同时显示(并且仅显示)​​月份和年份吗?
【发布时间】:2013-12-23 11:04:37
【问题描述】:

我有一个带有date 属性的表单。

现在我正在使用f.date_select :begin_date, discard_day: true,但它分别在各自的选择菜单中显示月份和年份。

是否可以在同一个选择菜单中同时显示月份和年份,如下所示?

2013 年 1 月
2013 年 2 月
2013 年 3 月
2013 年 4 月
等等

【问题讨论】:

  • 如果您发布部分代码。谢谢
  • 哪些代码部分可以让我的问题更清楚?
  • 与此问题相关的视图和控制器可能会有所帮助。

标签: ruby-on-rails ruby-on-rails-4 html-select view-helpers datefield


【解决方案1】:

7 年过去了,但当我在谷歌上搜索这个确切的问题时,这个问题仍然存在。

您可以使其与标准 ActionView::Helpers::FormBuilder#select 一起工作,并手动为其提供月份+年份的集合

<% the_months = (Date.new(2020,1,1)..Date.new(2020,12,31)).select { |d| d.day == 1 } %>
<%= f.select :start_date, the_months.map { |d| [d.strftime('%b %Y'), d] } %>

【讨论】:

    【解决方案2】:

    您可以查看rails API documentationdate select method 了解更多详情。

    您的代码将是这样的:

    <%= f.date_select :date,  { :discard_day => true} %>
    

    【讨论】:

    • 我认为那是不可能的?因为该选项在那里不可用。
    • 很抱歉,这完全是我在问题中提供的现有代码。
    • 这只是重复了原始提问者所说的内容,并带有无益的“您必须阅读手册”序言。
    猜你喜欢
    • 2015-08-17
    • 1970-01-01
    • 2018-06-28
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多