大佬教程收集整理的这篇文章主要介绍了ruby-on-rails-3 – TypeError(字符串不能被强制转换为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的新手,返回时有什么问题吗?这是其他语言的习惯.
简单修复:
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
以上是大佬教程为你收集整理的ruby-on-rails-3 – TypeError(字符串不能被强制转换为Fixnum)?全部内容,希望文章能够帮你解决ruby-on-rails-3 – TypeError(字符串不能被强制转换为Fixnum)?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。