如何在Rails中的date_select帮助器中设置默认日期

时间:2010-04-02 11:19:42

标签: ruby-on-rails date

我正在尝试在我的Rails应用程序(2.3.5)中设置生日助手的日期。目前就是这样。

<%= f.date_select :date_of_birth, :start_year => Time.now.year - 110, :end_year => Time.now.year %>

这会生成一组功能完善的日期字段,但效果很好......

他们默认为今天的日期,这对于出生日期并不理想(我不确定是什么,但除非你今天运行新生儿单位的日期似乎不太理想)。我想让它改为2010年1月1日(或2011年或其他任何年份)。使用:default选项已证明不成功。我尝试了很多可能性,包括;

<%= f.date_select :date_of_birth, :default => {:year => Time.now.year, :month => 'Jan', :day => 1}, :start_year => Time.now.year - 110, :end_year => Time.now.year %>

<%= f.date_select :date_of_birth, :default => Time.local(2010,'Jan',1), :start_year => Time.now.year - 110, :end_year => Time.now.year %>

这些都不会改变第一个示例的行为。默认选项实际上是否按照描述工作?看来这应该是一件相当简单的事情。

的Ta。

1 个答案:

答案 0 :(得分:10)

我认为最简单的方法是在控制器中分配它,例如用于新操作:

@person = Person.new(:date_of_birth => "2010-01-01".to_date)

然后在您的视图中,您将获得正确的日期。

编辑:
如果要在模型级别指定默认值,可以尝试使用plugin。但是我没试过。