Ruby 使用日期\选择而不显示日期

Ruby 使用日期\选择而不显示日期,ruby,date,ruby-on-rails-4,Ruby,Date,Ruby On Rails 4,我使用rails date_select来提示用户选择年、月和日。但是,我只想列出提示用户只输入年份和月份,而不显示日期字段。我希望这一天永远是一年中任何月份的第20天。我该怎么做 date_select @foo, :date_of_foo, { discard_day: true } 将删除日期部分;不幸的是,它与 date_select @foo, :date_of_foo, { default: { day: 20 } } 这将预先设置(现在省略)日期选择为20;相反,日期被设置为1

我使用rails date_select来提示用户选择年、月和日。但是,我只想列出提示用户只输入年份和月份,而不显示日期字段。我希望这一天永远是一年中任何月份的第20天。我该怎么做

date_select @foo, :date_of_foo, { discard_day: true }
将删除日期部分;不幸的是,它与

date_select @foo, :date_of_foo, { default: { day: 20 } }

这将预先设置(现在省略)日期选择为
20
;相反,日期被设置为
1
,因此当您收到日期时,您必须手动调整日期(或者修改
date\u选择
结果,将隐藏字段的值从
1
更改为
20
)。

我想是这样。我认为我可以破解的唯一方法是手动更新控制器中的每个字段。但在我的控制器中,我所做的是创建一个私有方法来列出我的所有参数,在我的更新中,我只是更新参数并保存。这是否意味着我必须手动更新更新方法中的每个参数?是的,这可能是最好的。这也是可行的,但它是一个巨大的黑客:
(date\u select@foo,:date\u of\u foo,{discard\u day:true}).gsub(/(\[date\u of\u foo\(3i\)\].?“1/,\1“20”)