我正在制作一个rails网站,我正在尝试使用文本框输入并将其转换为大十进制值以传递给后端服务但是当我接受输入(params [:amount])并执行我的操作时认为应该将此转换为BigDecimal我在服务调用的行上尝试调用服务说“错误无法将字符串转换为BigDecimal”时收到错误。请参阅下面的近似代码
@amt = BigDecimal(params[:amount])
Service.call(@amt)
答案 0 :(得分:1)
错误消息表明它在Service.call中需要一个字符串,并希望自己进行转换。假设您有创建@amt的原因(例如验证/错误检查),我会传入@ amt.to_s并查看会发生什么
除此之外,我们需要Service.call()背后的代码来了解更多信息。