我正在做一些看似很简单的事情,但是Rails把SQL搞得一团糟。我可以只执行我自己的SQL,但框架应该能够处理这一点。
下面是我正在尝试执行的保存:
w = WhipSenVote.find(:first, :conditions => ["whip_bill_id = ? AND whip_sen_id = ?", bill_id, k])
w.votes_no = w.votes_no - 1
w.save我生成的SQL如下所示:
SELECT *
FROM "whip_sen_votes"
WHERE (whip_bill_id = E'1' AND whip_sen_id = 7)
LIMIT 1然后:
UPDATE "whip_sen_votes"
SET "votes_yes" = 14, "updated_at" = '2009-11-13 19:55:54.807000'
WHERE "id" = 15第一个select语句是正确的,但是正如您所看到的,尽管votes_yes值是正确的,但是Update SQL语句是非常错误的。
有什么想法吗?谢谢!
发布于 2009-11-14 04:12:58
看看WhipSenVote模型会有所帮助。
您也可以使用decrement!
https://stackoverflow.com/questions/1731564
复制相似问题