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

Ruby on rails Rails版本迁移问题(Rails 4.2到5.0),ruby-on-rails,rails-activerecord,ruby-on-rails-5,Ruby On Rails,Rails Activerecord,Ruby On Rails 5,从rails4.2.6迁移到5.0.1时,我遇到了一些错误: undefined method `push' for #<User::ActiveRecord_Relation: 这里需要注意的一点是@users是ActiveRecord关系。对于ActiveRecord关系,没有这样的方法push push方法受Array支持,因此您可以将结果转换为数组,然后在结果“Arraya”中推送新用户 @users = User.includes(:account).order(:last_n

从rails
4.2.6
迁移到
5.0.1
时,我遇到了一些错误:

undefined method `push' for #<User::ActiveRecord_Relation:

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

push
方法受
Array
支持,因此您可以将结果转换为数组,然后在结果“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中找到类似的方法。例如:


这是针对#
未定义方法push'的完全错误吗?#我相信后面一定有一个类名。这是完整的一行:未定义的方法'push'for#你试过Deepak的答案吗?这应该对你有用。是的,push方法已经被弃用了,但是如果你能告诉其他方法来代替它,那就太好了。而且还提到concat和push的工作原理是相同的。但是concat不起作用。得到了同样的错误。@Deepak Mahakale-谢谢你的回答
@users.to_a.push…
帮助了我。我也遇到了同样的问题,并试图将
添加到我的新记录中。
@users = User.includes(:account).order(:last_name).to_a
@users.push(new_user)
@users = User.includes(:account).order(:last_name)
@users.concat([new_user])