0
레일스는 SQL을 엉망으로 만들고 있습니다. 난 그냥 내 자신의 SQL을 실행할 수 있지만 프레임 워크는 이것을 처리 할 수 있어야합니다. 다음레일스가 복잡한 저장시 SQL을 괴롭힘
SELECT *
FROM "whip_sen_votes"
WHERE (whip_bill_id = E'1' AND whip_sen_id = 7)
LIMIT 1
과 :
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은 다음과 같습니다 : 여기
은 내가 수행하려고 막아있다
는UPDATE "whip_sen_votes"
SET "votes_yes" = 14, "updated_at" = '2009-11-13 19:55:54.807000'
WHERE "id" = 15
첫 번째 선택 문이다 그러나 올바른 것으로 볼 수 있듯이, Vote_yes 값이 맞지만 Update SQL 문은 꽤 잘못되었습니다.
아이디어가 있으십니까? 감사!
를 사용할 수 있습니다 클래스 WhipSenVote <액티브 :: 자료 belongs_to : whip_sen named_scope : 수상자, 람다 {| ID | {: conditions => [ "votes_yes> votes_no AND whip_bill_id =?", id]}} end –
또한 WHERE 절이 필요하기 때문에 decrement를 사용할 수 있는지 확신 할 수 없습니다. 감사. –
wdecment! (: votes_no) – cgr