rails中的date_select,如何获取所选值?

时间:2016-12-28 15:23:49

标签: 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.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>

days_in_month(Time.now.month)是帮助方法。

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

在这种情况下,当用户选择“月”,“白天”时,不会改变。 例如,在2016-12-28,页面默认显示2016/12/28,end_day为31,因为12个月有31天。但是虽然用户选择了11个月,但是end_day是31,因为12个月有31天。在这种情况下,我想在结束日显示30。请帮帮我......

1 个答案:

答案 0 :(得分:0)

这是客户端问题,你应该使用javascript来处理它。这可以帮助您:https://github.com/Homebrew/homebrew-apache/issues/143