2010-11-02 42 views
0

我使用夹具,预填充我的一些信息数据库,这样我就可以杀死数据库和测试过程中快速地改造它。轨数据库中创建复式

现在,当我创建使用我的Rails应用程序它正在创建两行相同的信息和时间戳的其中一个就好像它是用夹具创建新的数据库条目。

这里有一些线路从数据库

| task_id | procedure_id | created_at   | updated_at   | 
+---------+--------------+---------------------+---------------------+ 
|  13 |   8 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  23 |   5 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  7 |   6 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  3 |   8 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  7 |   5 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  27 |   6 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  21 |   8 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  21 |   7 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  38 |   8 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  38 |   7 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  37 |   8 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  5 |   8 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  37 |   7 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  5 |   7 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  30 |   5 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  3 |   7 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  41 |   2 | 2010-11-01 23:44:15 | 2010-11-01 23:44:15 | 
|  41 |   3 | 2010-11-01 23:44:15 | 2010-11-01 23:44:15 | 
|  41 |   4 | 2010-11-01 23:44:15 | 2010-11-01 23:44:15 | 
|  42 |   1 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  42 |   1 | 2010-11-01 23:45:11 | 2010-11-01 23:45:11 | 
|  43 |   1 | 2010-11-01 23:40:32 | 2010-11-01 23:40:32 | 
|  43 |   1 | 2010-11-01 23:51:16 | 2010-11-01 23:51:16 | 

正如你可以看到时间23时40分32秒是,当灯具更新数据库。

注意最后两集,其中TASK_ID是42和43项,已添加procedure_id 1两次,一次是在初始设置显然有一次当我真正做到了。

这些任务不是在赛程,我没有把它们添加到数据库中,直到初始加载。

回答

-1
for procedure in @task.procedures 
    @procedureTask = ProceduresTask.new() 
    @procedureTask.procedure_id = procedure.id 
    @procedureTask.task_id = @task.id 
    @procedureTask.save 
end 

应该是:同时使用。新的和.save

for procedure in @task.procedures 
    @procedureTask = ProceduresTask.new() 
    @procedureTask.procedure_id = procedure.id 
    @procedureTask.task_id = @task.id 
end 

创造了两个项目?我以为.new没有保存到数据库,但删除.save后,它工作正常。