我目前有一个看起来像这样的选择语句:
<%= f.select :assessmentYear, (Time.now.year-1..Time.now.year+1).to_a, :prompt=>true %>
我需要它来显示选择中的范围。如,2012-2013,2013-2014等 但它仍应保存与现在相同的价值(例如,2012-2013将节省2012年,2013-2014将节省2013年等)。
这是用户的请求 - 我的申请是针对学术机构的,并且因为学年在两个日历年之间分开,所以在提到单一价值时可能会令人困惑。
非常感谢!
答案 0 :(得分:0)
您可以拥有一个返回类似[['year-year+1', 'year'], ...]
的数组的帮助器。类似于:
def academic_years
years = Array.new
(Time.now.year-1..Time.now.year+1).each do |year|
years << ["#{year}-#{year+1}", year]
end
return years
end
然后像
一样调用帮助器<%= f.select :assessmentYear, options_for_select( academic_years ), :prompt=>true %>
助手options_for_select
将生成如下内容:
<option value="2012">2012-2013</option>
<option value="2013">2013-2014</option>
...