비효율적이거나 버그가있는 DELETE 쿼리를 생성하는 ActiveRecord에 실망한 SQL 직접 쿼리가없는 안전한 방법으로 직접 SQL 쿼리를 실행할 수있는 기능을 찾고 있습니다.직접 SQL 쿼리의 물음표
내가 절은 WHERE의 안전한 변형이 알고
MyObject.joins(:details)
.where('my_objects.my_value = ? and details.my_id = ?',
params[:value], params[:id])
이 execute
의 안전한 변종이 존재 하는가은? 뭔가 같은 : 자세한 내용 를 사용 my_objects 에서 삭제
(< < - SQL
을 실행 WHERE my_objects.details_id = details.id AND :
execute(<<eos
DELETE FROM my_objects
USING details
WHERE
my_objects.details_id = details.id
AND my_objects.my_value = ?
AND details.my_id = ?
eos
, params[:value], params[:id])