2014-07-17 3 views
0

레일 사이트를 만들고 텍스트 입력을 받아서 백엔드 서비스에 전달하기 위해 큰 십진수 값으로 변환하려고합니다. 그러나 입력 (params [: amount]) 그리고 내가 이것을 BigDecimal로 변환해야한다고 생각하는 것 서비스 호출 라인에서 "Error가 String을 BigDecimal로 변환 할 수 없다"는 서비스를 호출 할 때 오류가 발생한다. 아래의 코드를 참조하십시오.문자열을 BigDecimal 루비로 변환

@amt = BigDecimal(params[:amount]) 

Service.call(@amt) 
+0

'Service.call' 메소드의 코드와 오류가 발생한 행을 게시하십시오. – infused

답변

1

오류 메시지는 Service.call에 문자열이 있어야하며 변환 자체를 원한다는 것을 나타냅니다. @amt (유효성 검사/오류 검사와 같은)를 작성하는 이유가 있다고 가정하면 @ amt.to_s를 전달하고 어떤 일이 발생하는지 알 수 있습니다.

더 많은 정보를 얻으려면 Service.call() 뒤에있는 코드가 필요합니다.