我正在尝试使用带有表单的 Rails 日期助手。但是,我只想得到年份。我从 simple_form gem https://github.com/plataformatec/simple_form获得了下面的表单代码。discard_day
并discard_month
阻止显示月份和日期选择框。但是,当我提交表单时,我收到了这个多参数错误
2 error(s) on assignment of multiparameter attributes
"start(1i)"=>"2013",
"start(2i)"=>"4",
"start(3i)"=>"23",
"end(1i)"=>"2011",
"end(2i)"=>"4",
"end(3i)"=>"23",
看起来 Rails 只是替换了当前的日期和月份,因为表单中没有输入任何内容。
我想知道是否有办法阻止 Rails 包含当前日期和月份,或者我应该在控制器中处理它。现在,创建动作看起来像这样
def create
@employment = current_user.employments.build(params[:employment])
if @employment.save
....
如果我不能阻止 Rails 包含当前日期和月份,那么我会在控制器中做什么?
<%= f.input :start, as: :date, start_year: Date.today.year - 90,
end_year: Date.today.year, discard_day: true, discard_month: true %>
<%= f.input :end, as: :date, end_year: Date.today.year - 90,
end_year: Date.today.year, discard_day: true, discard_month: true %>