我的表格如下:
<%= form_for(@car, :html => {:class => 'form-horizontal' }) do |f| %>
<% if @car.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@car.errors.count, "error") %> prohibited this car from being saved</h2>
<ul>
<% @car.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :price %><br />
<%= f.text_field :price %>
</div>
<div class="field">
<%= f.label :model_year %><br />
<% %>
<% end %>
</div>
我希望有一个集合选择从100年前开始的模型年份和未来的一年。我试过了
<%= f.select_year :model_year%>
但是它说select_year不是一个有效的方法。试图
<%= f.date :model_year, :discard_month => true %>
也无济于事。有什么想法吗?
答案 0 :(得分:10)
select_year
是一个生成包含选项的完整选择标记的帮助程序。由于您使用的是form_for
而不是form_tag
,因此您需要使用可在表单构建器对象上调用的帮助程序。
<%= f.select :model_year, (Time.zone.now.year - 100)..(Time.zone.now.year + 1) %>
参考:http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-select_year