gpt4 book ai didi

ruby-on-rails - Rails 找不到刚创建的数据库列

转载 作者:搜寻专家 更新时间:2023-10-30 20:19:00 24 4
gpt4 key购买 nike

我刚刚运行了一个迁移,将 :new_column 添加到 :my_table这是一个序列化的专栏(整个项目中的第一个),因此我已将配置添加到模型中:

serialize :new_column, Array

我的迁移如下:

add_column :my_table, :new_column, :text

在那之后,我运行了 rake db:reset,以播种新数据,并检查了 rails console 以确保数据已正确添加到我的:新列。一切尽在其中。

到目前为止一切顺利,但是...在 rails server 中,我的应用程序将简单地停止并出现错误:

ActiveModel::MissingAttributeError in TestController#index
missing attribute: new_column

好吧,我只知道我的 Controller 正在尝试访问 @my_table_model.new_column。我还检查了 schema.db,一切正常。

可能是什么原因造成的?

最佳答案

解决了!这是一个 Rails.cache 问题。

数据库确实被填充了,但是先前模式中的一些属性被缓存了,当 Controller 试图访问时,返回了一个先前的对象(一个没有 :new_column_field 的对象)。所以最终的解决方案非常简单:

  Rails.cache.clear

谢谢 WhitSunxperous , 帮助我。 :)

关于ruby-on-rails - Rails 找不到刚创建的数据库列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16451972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com