2010-01-04 52 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