0

我需要多个不同start_timeend_time日期添加到这个模型:轨道4多个日期范围出现在一个记录

class CreateCourses < ActiveRecord::Migration 
def change 
    create_table :courses do |t| 
    t.string :name 
    t.datetime :start_time 
    t.datetime :end_time 

    t.timestamps 
    end 
end 
end 

我曾尝试:

class Course < ActiveRecord::Base 
serialize :start_time 
serialize :end_time 
end 

但我在控制台得到nil尝试Course.new(start_time: ['2014-12-01 00:00:00 UTC', '2014-11-01 00:00:00 UTC'])。我也尝试过不同格式的日期,但没有成功。

我该如何做到这一点?

+0

它是怎么去?你有没有解决它? – 2014-11-21 14:18:49

回答

1
  1. 你传入String类型对象start_time,这是DateTime类型。

务必:

class Course < ActiveRecord::Base 
    serialize :start_time, Array 
    serialize :end_time, Array 
end 

,并通过适当的类型:

Course.create(start_time: [Time.now, Time.now - 1.month]) 
  • 您搞乱newcreate
  • 你必须要么使用:

    Course.create(start_time: [Time.now, Time.now - 1.month]) 
    

    course = Course.new 
    course.start_time = [Time.now, Time.now - 1.month] 
    course.save 
    
    +1

    你正在序列化一个'Array',而不是'DateTime' ...不是吗? 'DateTime'没有'dump'或'load'。 – 2014-11-20 22:44:14

    +0

    所有这一次,我的意思是阵列,人 - 迟到了,我必须去睡觉! – 2014-11-20 22:51:44