ruby-on-rails-3 – TypeError(字符串不能被强制转换为Fixnum)?
发布时间:2020-12-16 23:23:48 所属栏目:百科 来源:网络整理
导读:我收到了一个奇怪的错误.我的应用程序在我的本地主机上运行完全正常但在我的Heroku服务器上它给出了这个错误:TypeError(String不能被强制转换为Fixnum): 这是我的代码: @rep = rep_score(@u) 根据日志,这是抛出错误的线.我已将其评论出来,并将更改推送到H
我收到了一个奇怪的错误.我的应用程序在我的本地主机上运行完全正常但在我的Heroku服务器上它给出了这个错误:TypeError(String不能被强制转换为Fixnum):
这是我的代码: @rep = rep_score(@u) 根据日志,这是抛出错误的线.我已将其评论出来,并将更改推送到Heroku,应用程序现在运行正常. 这是rep_score方法: def rep_score(user) rep = 0 user.badges.each do |b| rep = rep + b.rep_bonus end return rep end rep_bonus也是数据库中的整数. 再次,这在localhost上运行得非常好.让我知道你的想法. 从rep_score方法中删除返回后,它正常工作.我还是Ruby的新手,返回时有什么问题吗?这是其他语言的习惯. 解决方法
Ruby用作字符串和数学情境的组合工具.
简单修复: def rep_score(user) rep = 0 user.badges.each do |b| rep = rep + b.rep_bonus.to_i end return rep end to_i正在将rep_bonus(可能来自数据库模型)从字符串结果更改为整数.您可以设置几种不同的类型转换.仅举几例转换: >数组:to_a>浮动:to_f>整数:to_i>字符串:to_s (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |