Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails月\字段数据类型_Ruby On Rails_Ruby_Ruby On Rails 4_Types - Fatal编程技术网

Ruby on rails Rails月\字段数据类型

Ruby on rails Rails月\字段数据类型,ruby-on-rails,ruby,ruby-on-rails-4,types,Ruby On Rails,Ruby,Ruby On Rails 4,Types,我已经在迁移文件中为我的月份字段定义了日期数据类型 t.date :month 并在模型中检验其估值 validates :month, presence: true 以我的形式 = f.month_field :month, class: "form-control" 但是当我想把数据保存在它不保存的时候。当我调试控制器时 params[:rent] => {"item"=>"Room", "charge"=>"100", "payment_date(1i)"=>

我已经在迁移文件中为我的月份字段定义了日期数据类型

t.date :month
并在模型中检验其估值

validates :month, presence: true
以我的形式

= f.month_field :month, class: "form-control"
但是当我想把数据保存在它不保存的时候。当我调试控制器时

params[:rent]
=> {"item"=>"Room", "charge"=>"100", "payment_date(1i)"=>"2014", "payment_date(2i)"=>"12", "payment_date(3i)"=>"11", "month"=>"2014-11"}
查看月份字段。我们有价值,但当我尝试创造新记录时

@rent = current_user.rents.new(rent_params)
=> #<Rent id: nil, item: "Room", charge: 100, payment_date: "2014-12-11 00:00:00", month: nil, user_id: 1, created_at: nil, updated_at: nil>

我在某个地方错了吗?

阿蒙日恩斯基是对的,但要扩展解决方案:

如果您只关心月份数,那么在迁移更改中:

t.date, :month

然后在你的表格中使用

或者你可以手工做


选择标签('name',选项用于选择([['一月',1],'二月',2],…])

属性的日期类型为日期,无法将表单中的值解析为日期
Date.parse('2014-11')
引发一个错误,这就是为什么您得到nilohh,我该怎么办?我应该更改它的日期时间数据类型吗?
t.date, :month
t.integer, :month