【发布时间】:2016-12-15 08:04:10
【问题描述】:
我的模型中有一个 ActiveModel,如下所示:
class PromotionCodesGenerator
include ActiveModel::Model
include ActiveModel::Validations
attr_accessor :no_of_codes,:start_date,:end_date
end
下面的视图
<%= simple_nested_form_for ([:admin, @promotion_codes_generator]) do |f| %>
<%= f.input :start_date, as: :date, default: Time.zone.now, wrapper_tag: :p %>
<%= f.input :end_date, as: :date, default: Time.zone.now + 1.month, wrapper_tag: :p %>
<% end %>
提交表单时,参数如下所示
{"no_of_codes"=>"12", "start_date(1i)"=>"2016", "start_date(2i)"=>"12", "start_date(3i)"=>"15", "end_date(1i)"=>"2017", "end_date(2i)"=>"1", "end_date(3i)"=>"15"}
当然这给了我错误
undefined method `start_date(1i)='
当我试图在我的控制器中启动模型时。
@promotion_codes_generator = PromotionCodesGenerator.new(promotion_codes_generator_params)
那么我应该如何正确处理日期呢?
【问题讨论】:
-
不要使用日期助手。使用 javascript datepickers 和一个简单的文本输入。
-
如果这些解决方案中的任何一个对您有用,请选择一个答案。
标签: ruby-on-rails ruby date activemodel