我在我的Rails 3应用程序中有一个表单,我想在方法上创建一年的选择标记:grad_year.我使用date_select并添加:discard_month和:discard_day,一切正常 – 并存储 – 正确.但是当我渲染@ profile.grad_year时,我会得到月和日值.所以我想知道如何为@ profile.grad_year存储和渲染年份?
这是表格:
<%= f.date_select :grad_year,{:start_year => Time.now.year,:end_year => Time.now.year - 95,:discard_day => true,:discard_month => true},:selected => @profile.grad_year %>
在我的迁移中:
t.date :grad_year
解决方法
Rails有一个select_year帮助器:
http://apidock.com/rails/ActionView/Helpers/DateHelper/select_year
所以你的代码应该是这样的:
f.select_year(Date.today,:start_year => Time.now.year,:field_name => 'grad_year')