Rails 3 Formtastic.如何在没有白天的情况下仅将月份和年份字段显示为formtastic?

leo*_*nel 5 ruby ruby-on-rails datepicker formtastic activeadmin

我需要formtastic才能显示月份和年份字段,没有日期字段.

datepicker很不错,但它显示了整个日历.我不想要datepicker.
f.input :accounting_month, :label => "Accounting month", :as => :datepicker

我需要的只是月份和年份.

Nic*_*lim 5

有一种方法可以做到这一点:

<%= f.input :accounting_month, :label => "Accounting month", :order => [:month, :year]
Run Code Online (Sandbox Code Playgroud)

这将自动隐藏"日期"输入并为其指定默认值1.


Mic*_*ant 2

它不会以这种方式工作,因为如果没有日期,这意味着 28-31 天(取决于月份),并且可以是其中的任何一天。如果您想要存储没有日期的月年选择,您会看到它是一个日期范围,而不是“一个”日期。

对于日期的建议是始终将整个日期存储为日期字段。如果您只知道月份和年份,则需要两个(非日期)字段,每个字段一个。但正如你所看到的,它会让你失去很多,你需要定制每个字段,验证它,等等。这是一个很大的痛苦,所以需要很好的理由来这样做。

我唯一可以建议的是:创建一个隐藏的 div,或者如果您无法“进入”表单上的标准日期字段“日期”,则应用 css。然后将该值设置为始终为 01。然后您可能会有一组“日期”字段,将 01 月年保存到数据库中。这绝对是‘黑客’!