0

내가이 railscast 사용하여 설정 다단계 레일 3 형태가 : http://railscasts.com/episodes/217-multistep-forms을, 나는 내 응용 프로그램에 대한 스트라이프 지불 구현하는 또 다른 railscast를 사용 : 내 응용 프로그램에서 http://railscasts.com/episodes/288-billing-with-stripe레일 3 jQuery로 if 문을 사용할 수 있습니까?

을 지불 형태는 jQuery를 통해 숨겨진 사용자에게 부과되는 금액은 내가 양이 사용자에게 충전 된 경우 스트라이프 지불 필드가 성공적으로 양식을 제출하지 않아도됩니다 내 레일 응용 프로그램을 이야기한다 할 수 있기를 원하는 것은 0

$(document).ready(function() { 
    var xyz = $("span#total").text(); 

    if (xyz == 0){ 
    $("div#stripefields").hide(); 
    };  
}); 

경우 그래서, 내 컨트롤러에서이 성명을 반영하도록 수정해야합니다 :

elsif @video.last_step? 
    @video.save if @video.all_valid? && @video.save_with_payment(@total) 

@total은 사용자에게 청구되는 금액이며 "save_with_payment"는 스트라이프 요금을 나타냅니다. 이 일을하는 가장 좋은 방법은 무엇입니까? 이 진술에 "if"를 어떻게 든 추가 할 수 있습니까?

답변

4

편집 : 죄송합니다. 오타가 약간 있습니다. 총이 jQuery 코드에서 당신은 정수를 비교하고, 0

@video.save if @video.all_valid? && ((@total > 0 && @video.save_with_payment(@total)) || @total == 0) 

또한 경우

당신은 저장 비디오를 0보다 큰 지불하기 전에 충전 전체가 있는지 확인하거나 허용해야 문자열로. 다음을 원할 수도 있습니다.

$(document).ready(function() { 
    var xyz = parseFloat($("span#total").text()); 

    if (xyz === 0.0){ 
    $("div#stripefields").hide(); 
    } 
}); 

잠재적 인 불일치를 피하기 위해. ==과 비교하면 유형을 강제 변환하려고 시도하기 때문에 그로 인해 이상한 결과가 발생할 수 있습니다. 따라서 parseFloat를 사용하여 총 가격 (정수 또는 부동 소수점 수)을 부동 소수점 값으로 변환하고 부동 소수점 (0.0)과 비교하여 결과를 명확하게 만듭니다.

+0

... 감사합니다. – user1429496

+0

@ user1429496 약간의 오타를 만들었습니다. 올바른 상태인지 다시 확인하십시오. –

관련 문제