如何在 rails 中 select 当前和过去的月份?
how to select current and past month-year in rails?
我正在使用 date_select
到 select 月份和年份,但默认情况下这可以 select 未来的月份和年份。我想限制未来月份和年份的 selection。如何在 rails 中做到这一点?
这是我当前的代码-
<div class="field medium-4 columns">
<%= form.label :attendance_month %>
<%= form.date_select :attendance_month, { :discard_day => true, :discard_month => false, :discard_year => false },:class => 'month-and-year' %>
</div>
您可以通过传入 end_year.
来限制日期的选择
:end_year => Time.now.year
进一步阅读:
Action View Date Helpers:date_select
:end_year - Set the end year for the year select. Default is Date.today.year + 5 if you are creating new record. While editing existing record, :end_year defaults to the current selected year plus 5.
使用 :date_select 您无法指定 'end_month',相反我会创建一个辅助方法:
# app/helpers/some_helper.rb
module SomeHelper
def month_range
( Date.today.at_beginning_of_year..Date.today ).each_with_object( [] ) do | date , month_array |
month_array << date.strftime( "%B %Y" )
end.uniq
end
end
然后我会使用 month_range 作为 select_tag:
的一部分
<%= form.select :attendance_month, month_range, :class => 'month-and-year' %>
我正在使用 date_select
到 select 月份和年份,但默认情况下这可以 select 未来的月份和年份。我想限制未来月份和年份的 selection。如何在 rails 中做到这一点?
这是我当前的代码-
<div class="field medium-4 columns">
<%= form.label :attendance_month %>
<%= form.date_select :attendance_month, { :discard_day => true, :discard_month => false, :discard_year => false },:class => 'month-and-year' %>
</div>
您可以通过传入 end_year.
来限制日期的选择:end_year => Time.now.year
进一步阅读:
Action View Date Helpers:date_select
:end_year - Set the end year for the year select. Default is Date.today.year + 5 if you are creating new record. While editing existing record, :end_year defaults to the current selected year plus 5.
使用 :date_select 您无法指定 'end_month',相反我会创建一个辅助方法:
# app/helpers/some_helper.rb
module SomeHelper
def month_range
( Date.today.at_beginning_of_year..Date.today ).each_with_object( [] ) do | date , month_array |
month_array << date.strftime( "%B %Y" )
end.uniq
end
end
然后我会使用 month_range 作为 select_tag:
的一部分<%= form.select :attendance_month, month_range, :class => 'month-and-year' %>