Ruby on rails 日期\在rails中选择,如何获取所选值?

Ruby on rails 日期\在rails中选择,如何获取所选值?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我的视图文件在下面 <div class="field"> <%= f.label :deadline , class:"form-label" %><br /> <%= f.date_select( :deadline , use_month_numbers: true , start_year: (Time.now.year) , end_year: (Time.now.year+1) , start_month: (Time.no

我的视图文件在下面

<div class="field">
    <%= f.label :deadline , class:"form-label"  %><br />
    <%= f.date_select( :deadline , use_month_numbers: true , start_year: (Time.now.year) , end_year: (Time.now.year+1) , start_month: (Time.now.month) , end_month: (12) , start_day: (Time.now.day) , end_day: (days_in_month(Time.now.month)) , default: Date.new(Time.now.year , Time.now.month , Time.now.day) , date_separator: '/' ) %>
</div>
在这种情况下,当用户选择“月”时,“日”不会改变。
例如,在2016-12-28中,页面默认显示2016/12/28,结束日为31,因为12个月有31天。但尽管用户选择11个月,但结束日是31天,因为12个月有31天。在这种情况下,我想在一天结束时显示30。请帮助我…

这是客户端的问题,您应该使用javascript处理它。这可能会对您有所帮助:。

如果您想在客户端上完成,您必须使用javascriptI!谢谢你的建议!
def days_in_month(month, year = Time.now.year)
   common_year_days_in_month = [nil, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
   return 29 if month == 2 && Date.gregorian_leap?(year)
   common_year_days_in_month[month]
end