Я делаю что-то довольно простое, но 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 правильный, но, как вы можете видеть, оператор Update SQL довольно неправильный, хотя значение voice_yes является правильным.
Есть идеи? Спасибо!