我的本地计算机上有一个工作轨道应用程序。我更新了我的Heroku并开始测试它。我的一个视图要求控制器使用unshift将数组添加到数组中。
当我在网上转到此视图时,收到错误We're sorry, but something went wrong.
我进入了$heroku logs
,最近的错误是:
2014-02-28T02:08:26.650021+00:00 app[web.1]: NoMethodError (undefined method `unshift' for #<ActiveRecord::AttributeMethods::Serialization::Attribute:0x007fe57862f588>):
2014-02-28T02:08:26.650021+00:00 app[web.1]: app/controllers/users_controller.rb:32:in `show'
任何想法如何解决这个问题?
我的控制器功能如下所示:
@user.daily = @user.daily.unshift(day)
@ user.daily是一个序列化数组
答案 0 :(得分:1)
@ Mhsmith21,如果day是一个对象,如果你是rails 4+,那么我的建议是使用build而不是unshift。 如果您使用unshift在第一个位置添加对象,则使用构建并反转数组。
因为非移位不适用于ActiveRecord::Associations::CollectionProxy
。