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"?
解决方案很简单
<%= 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)
我支持如果默认值超出范围,则选择列表的第一个是提示