2011-02-10 177 views
1

我有一个问题,我试图在帖子中更新同一类型的多个模型。循环中的第一个模型得到更新,但其余的没有出于某种原因。Rails在帖子中更新多个相同类型的模型

我已经发布了服务器日志,您可以在其中查看并更新第一个模型,然后找到剩余的部分。

有没有人有任何想法,我的问题是在这里?由于

def special_save 
    temp = params["_json"] 

    temp.each { |h| 
     hh = h['h_w'] 

     h_w = HourWorking.find(hh[:id]) 

     hh.delete('id') 

     h_w.update_attributes(hh) 
    } 
    end 



HourWorking Load (2.5ms) SELECT "hour_workings".* FROM "hour_workings" WHERE ("hour_workings"."id" = 187) LIMIT 1 
SQL (1.2ms) BEGIN 
SQL (3.7ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull 
FROM pg_attribute a LEFT JOIN pg_attrdef d 
ON a.attrelid = d.adrelid AND a.attnum = d.adnum 
WHERE a.attrelid = '"hour_workings"'::regclass 
AND a.attnum > 0 AND NOT a.attisdropped 
ORDER BY a.attnum 
SQL (1.7ms) UPDATE "hour_workings" SET "end_time" = '2000-01-01 04:45:00.000000', "start_time" = '2000-01-01 01:45:00.000000', "updated_at" = '2011-02-10 10:18:19.955198' WHERE ("hour_workings"."id" = 187) 
SQL (4.3ms) COMMIT 
HourWorking Load (1.7ms) SELECT "hour_workings".* FROM "hour_workings" WHERE ("hour_workings"."id" = 169) LIMIT 1 
SQL (1.2ms) BEGIN 
SQL (12.8ms) COMMIT 
HourWorking Load (6.0ms) SELECT "hour_workings".* FROM "hour_workings" WHERE ("hour_workings"."id" = 154) LIMIT 1 
SQL (1.5ms) BEGIN 
SQL (1.3ms) COMMIT 
HourWorking Load (2.3ms) SELECT "hour_workings".* FROM "hour_workings" WHERE ("hour_workings"."id" = 170) LIMIT 1 
SQL (9.8ms) BEGIN 
SQL (1.1ms) COMMIT 
HourWorking Load (1.5ms) SELECT "hour_workings".* FROM "hour_workings" WHERE ("hour_workings"."id" = 171) LIMIT 1 
SQL (1.2ms) BEGIN 
SQL (12.3ms) COMMIT 
HourWorking Load (6.2ms) SELECT "hour_workings".* FROM "hour_workings" WHERE ("hour_workings"."id" = 165) LIMIT 1 
SQL (1.1ms) BEGIN 
SQL (1.6ms) COMMIT 
HourWorking Load (2.0ms) SELECT "hour_workings".* FROM "hour_workings" WHERE ("hour_workings"."id" = 153) LIMIT 1 
SQL (1.0ms) BEGIN 
SQL (1.6ms) COMMIT 

回答

1

尝试删除:ID键

hh.delete(:id) 
+0

对呀,我在h_w.update_attributes(hh) – Marklar 2011-02-10 11:44:36

0

啊,我发现我的问题。

我有一个问题,我发布的参数是数据库中已有内容的精确副本。