Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 多态关联插入0,而不是列错误配置为整数时引发错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是一个令我痛苦的一段时间,但回想起来应该是显而易见的.我收到错误消息
NoMethodError: undefined method `constantize' for 0:Fixnum

当通过多态关联访问模型时.结果在关联的belongs_to侧的表具有一个整数型列而不是一个字符串.

很容易修复,但是似乎Rails应该在这种情况下引发错误 – 而是在类型列中快乐地将行添加为0.

@H_944_9@解决方法
是因为通过请求发送的参数作为字符串通过,因此对于从params设置的整数列,rails调用字符串上的to_i来获取整数.如果它无法解析一个整数(如果字符串不以某些数字开头),那么to_i返回0.这就是Ruby的工作原理.有时轨道会发现这一点并发出警告,但是它不可能知道它必须检查的每一列的名称.例如检查(从控制台)
>> quiz = Quiz.first
=> <a quiz>
>> quiz.user_id = "foo"
=> "foo"
>> quiz.save
=> true
>> quiz.user_id
=> 0

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – 多态关联插入0,而不是列错误配置为整数时引发错误全部内容,希望文章能够帮你解决ruby-on-rails – 多态关联插入0,而不是列错误配置为整数时引发错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。