是的,我看过this。
这就是我在production.log中获得的内容:
ActionView::TemplateError (undefined method `password' for #<User:0x2b0ddb58cdc0>) on line #11 of app/views/users/new.html.erb:
8: </p>
9: <p>
10: <%= f.label :password, "Password:" %><br />
11: <%= f.password_field :password %>
12: </p>
13: <p>
14: <%= f.label :password_confirmation, "Password again:" %><br />
当我尝试:
$ heroku rake db:reset RAILS_ENV=production
我明白了:
yeqynzfiku already exists
(in /disk1/home/slugs/109616_e6df6f2_8837/mnt)
Couldn't drop yeqynzfiku : #<ActiveRecord::StatementInvalid: PGError: ERROR: must be owner of database yeqynzfiku
: DROP DATABASE IF EXISTS "yeqynzfiku">
我不知道这意味着什么。我也试过了
$ heroku rake db:reset
$ heroku rake db:migrate RAILS_ENV=production
$ heroku rake db:migrate
$ heroku rake gems:install (for what it's worth)
在开发和生产模式下,一切都在本地运行良好。我的应用程序中有一个.gems文件,当我第一次推送到Heroku时,似乎安装了AuthLogic和Paperclip就好了。
难住了。感谢。
答案 0 :(得分:21)
听起来你已经解决了,但是遇到这样的问题我发现它很方便heroku restart
。
例如,在使用heroku rake db:migrate
运行迁移后,需要重新启动应用才能看到这些新列。
答案 1 :(得分:2)
而不是db:reset
尝试db:migrate VERSION=0
和db:migrate
我认为他们有重置问题,因为它试图放弃数据库
此外,您不需要将RAILS_ENV=production
作为默认的AFAIK ...
答案 2 :(得分:2)
我遇到了同样的问题。我做了heroku restart
并且效果很好。
答案 3 :(得分:0)
啊,与.gitignore文件中的很多内容有关。应该在推送给Heroku之前清除它。