繁体   English   中英

Rails 版本迁移问题(Rails 4.2 到 5.0)

[英]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)

这里要注意的一点是@usersActiveRecord关系。 对于ActiveRecord关系,没有这种方法push

Array支持push方法,因此您可以将结果转换为数组,然后将new_usernew_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM