我正在構建我的第一個webapp,跟隨Michael Hartl Rails Tutorial。在完成Chapter 10之後,我發現我的應用程序在本地工作,但在將其推送到Heroku時不起作用。開發日誌輸出寫着:推向Heroku時的ActionView錯誤
Started GET "/" for 98.154.183.51 at Thu Jan 06 01:07:15 -0800 2011
Processing by PagesController#home as HTML
Rendered layouts/_header.html.erb (28.3ms)
Rendered pages/home.html.erb within layouts/application (30.9ms)
Completed in 35ms
User Load (29.6ms) SELECT "users".* FROM "users" WHERE ("users"."id" = 101) LIMIT 1
CACHE (0.0ms) SELECT "users".* FROM "users" WHERE ("users"."id" = 101) LIMIT 1
Rendered layouts/_header.html.erb (149.3ms)
CACHE (0.0ms) SELECT "users".* FROM "users" WHERE ("users"."id" = 101) LIMIT 1
Rendered layouts/_sidebar.html.erb (8.1ms)
Rendered layouts/_footer.html.erb (0.6ms)
Rendered sessions/new.html.erb within layouts/application (342.4ms)
Completed 200 OK in 421ms (Views: 390.1ms | ActiveRecord: 29.9ms)
而Heroku的生產日誌上寫着:
Started GET "/" for 98.154.183.51 at Thu Jan 06 01:07:15 -0800 2011
Processing by PagesController#home as HTML
Rendered layouts/_header.html.erb (28.3ms)
Rendered pages/home.html.erb within layouts/application (30.9ms)
Completed in 35ms
ActionView::Template::Error (PGError: ERROR: invalid input syntax for integer: "nil"
: SELECT "users".* FROM "users" WHERE ("users"."id" = 'nil') LIMIT 1):
我不知道爲什麼Heroku的部署應用程序查找的「無」爲user_id,而我的地方應用程序尋找「101」之一。這是我的第一個應用程序,所以我不知道哪裏可以開始排除故障。我已經嘗試通過heroku rake db:push
將我的本地數據庫推送到Heroku one,但我仍然得到相同的錯誤。有什麼建議?在此先感謝您的幫助。
請讓我們看看發生這種情況的代碼。 – 2011-01-06 10:29:35