使用start/end_year在select_year中出现":prompt"

tva*_*nt2 1 date ruby-on-rails-3

这个答案为指导,我select_year开始创建一个以今天开始并在100年前结束的开始.但我想添加一个:prompt以便下拉菜单以"年份"而不是当前年份开始.所以我使用了以下内容:

<%= select_year(Date.today, {:prompt => "Year", :start_year => DateTime.now.year, :end_year => DateTime.now.year - 115}, {:field_name => 'Year', :id => 'Date.year'}) %>
Run Code Online (Sandbox Code Playgroud)

这会导致一年下降,但提示显示当前年份而不是"年份".如果我点击下拉菜单,它会显示"年份"作为选择当前年份的第一个选项.我怎样才能解决这个问题?我做错了什么?

更新:以下是上述代码的HTML输出:

<select field_name="Year" id="Date.year" name="date[year]">
<option value="">Year</option>
<option selected="selected" value="2011">2011</option>
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做2011年不是自动的"selected"

Boh*_*dan 7

解决方案很简单

    <%= select_year(0, {:prompt => "Year", 
                        :start_year => DateTime.now.year, 
                        :end_year => DateTime.now.year - 115}, 
                       {:field_name => 'Year', :id => 'Date.year'}) %>
Run Code Online (Sandbox Code Playgroud)

我支持如果默认值超出范围,则选择列表的第一个是提示