[英]Rails version migration issue (Rails 4.2 to 5.0)
从 rails 4.2.6
迁移到5.0.1
时,出现一些错误:
undefined method `push' for #<User::ActiveRecord_Relation:
在做的时候:
@users = User.includes(:account).order(:last_name)
@users.push(new_user)
这里要注意的一点是@users
是ActiveRecord
关系。 对于ActiveRecord
关系,没有这种方法push
。
Array
支持push
方法,因此您可以将结果转换为数组,然后将new_user
推new_user
结果 `Arraya
@users = User.includes(:account).order(:last_name)
@users.to_a.push(new_user)
ActiveRecord::Associations::AssociationCollection#push
已被弃用并从ActiveRecord 5
删除。 您可以尝试在推送之前将关系转换为数组:
@users = User.includes(:account).order(:last_name).to_a
@users.push(new_user)
或在 ActiveRecord 5 中找到类似的方法。例如有 concat 方法:
@users = User.includes(:account).order(:last_name)
@users.concat([new_user])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.