Rails - 18年前以形式设置date_select

ecs*_*ecs 6 datetime ruby-on-rails date

很简单的问题,但似乎无法解决它!我正在创建一个出生日期表格,以确保用户只有在18岁以上才能注册.我有一个date_select,并且可以设置开始年份,但如何设置结束年份以便它是18年前的?我也将在模型中使用验证器,但不希望有人能够首先输入错误的信息.

我看了一遍,但只能找到有关如何使用time.ago和验证器的信息,我已经对它进行了分类,而不是表单本身.

或者,可能更好 - 有没有办法让前两个项目(日和月)有一个date_select下拉列表,还有一年的文本框?这些方面的东西:

<%= f.date_select :date_of_birth, :order => [:day, :month] %><%= f.text_field :date_of_birth.year, :length => 4 %>
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止:

<%= f.label :date_of_birth %><br />
<%= f.date_select :date_of_birth, :order => [:day, :month, :year], :start_year => 1900, :end_year =>  %>
Run Code Online (Sandbox Code Playgroud)

谢谢!!