som*_*aha 5 heroku ruby-on-rails-3
我只是推动了Heroku,并尝试通过rails_admin添加模型进行一些测试.当我这样做时,我得到了一个通用错误页面.我进入日志并发现了这条消息:
NoMethodError(nil的未定义方法`name':NilClass)
然后我打开了heroku控制台并尝试手动添加模型并在尝试保存时收到相同的消息.
NoMethodError:nil的未定义方法`name':NilClass
这是模型:
class Board < ActiveRecord::Base
attr_accessible :name, :description
validates :name, :presence => true
validates :description, :presence => true
validates_uniqueness_of :name, :case_sensitive => false
has_many :subjects
scope :hidden, where(:is_hidden => true)
scope :visible, where(:is_hidden => false)
end
Run Code Online (Sandbox Code Playgroud)
任何想法可能会发生什么 - 或从哪里开始寻找?
我进行了迁移,并且能够看到它在控制台中工作时识别模型及其属性.
谢谢!
Zee*_*han 20
在被这个问题两次咬了之后,我向heroku支持团队询问了它发生的原因.他们回答说:
"在运行rake db:migrate之后,您必须重新启动应用程序,以便它可以获取架构更改,因为架构信息在生产模式下启动时会被缓存."
因此,请始终记住在运行新迁移后通过'heroku restart'重新启动heroku应用程序.
我不确定在推出更改并运行 db:migrate 时 Heroku 是否存在延迟或其他问题,但在外面花了几个小时后,我回来了,再次运行 rake db:migrate,这似乎什么也没做,并且然后我尝试再次创建模型,它运行没有任何问题。
现在一切似乎都很好,但我无法判断我只是需要等待更长的时间才能使用 Heroku 进行测试 - 或者再次运行迁移是否确实做了一些事情。
| 归档时间: |
|
| 查看次数: |
7591 次 |
| 最近记录: |