Rails seeds.db不保存关系

时间:2013-03-14 16:33:13

标签: ruby-on-rails

当我尝试使用db / seeds.rb文件预填充数据库时,我的代码如下:

 now = Time.now.beginning_of_hour
later = Time.now.end_of_hour + 1
sch1 = Schedule.create(start_time: now, stop_time: later) 
sch1.channel = channel
sch1.program = cartoon
cartoon.schedules.push(sch1)
sch1.save
cartoon.save

其中频道和漫画在代码中先前已定义,其中Channel.create和Program.create具有适当的值。

当我查看rails控制台时,我看到所有三个对象(通道,程序和计划)都存在,但没有计划没有program_id。 (schedule.program由于某种原因工作得很好)。程序的program.schedules也是一个空数组。

作为测试,我在控制台中执行了以下操作:

now = Time.now.beginning_of_hour
later = Time.now.end_of_hour + 1
channel = Channel.first
cartoon = Program.first
sch1 = Schedule.create(start_time: now, stop_time: later) 
sch1.channel = channel
sch1.program = cartoon
cartoon.schedules.push(sch1)
sch1.save
cartoon.save

并且工作正常。

种子有什么特别之处?我是否需要在稍后引用它之前调用save或者什么?变量显然不是空的......

0 个答案:

没有答案