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