2010-11-02 38 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後,它工作正常。