2010-01-04 68 views
7

是的,我读过thisHeroku上的Authlogic投掷错误

这就是我得到我的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

啊,与.gitignore文件中的很多东西有关。在推送到Heroku之前应该清除它。

21

听起来像你解决它,但与这样的问题,我发现它很方便做一个heroku restart

例如,在运行heroku rake db:migrate迁移之后,应用程序需要重新启动才能看到这些新列。

+1

这是我遇到同样问题时的关键。干杯 – 2010-03-01 11:02:01

+0

“heroku重启”是什么修复它对我来说 – Andrew 2010-07-15 19:23:44

+0

同样在这里:它的工作原理和你保存我的日子 – 2010-11-03 15:40:45

2

而不是db:reset尝试db:migrate VERSION=0db:migrate
我认为他们有重置的问题,因为它试图删除数据库。
此外,你不需要把RAILS_ENV=production这是默认的AFAIK ...

+0

BTW authlogic在heroku中造成麻烦,我不得不把版本信息放在.gems中,并且在某个时候出现了另一个问题,所以我只是将它安装成插件... – Devenv 2010-01-30 01:59:07

2

我有同样的问题。我做了一个heroku restart,它工作完美。

+0

这只是[Luke Francl的回答](http:// stackoverflow.com/q/2069393/331508)。 – 2011-11-23 07:35:21