2011-10-19 24 views
2

我是Heroku新手。我試着將一個簡單的測試Rails 3.1.1應用程序推送到Heroku。我從「新」Rails應用程序模板中對其進行的唯一更改是創建一個主控制器,並將根指向home#index。我也跑簡單的測試應用程序部署到Heroku但不會運行

rails g scaffold Mark type:string start_time:datetime end_time:datetime subject:string measure:float special_event:boolean flag:boolean in_progress:boolean 

這樣我可以運行數據庫遷移和測試,以確保所有顯示正常。我做最後的變化是對的Gemfile,現在看起來是這樣的:

source 'http://rubygems.org' 

gem 'rails', '3.1.1' 

group :development do 
    gem 'sqlite3' 
end 

group :production do 
    gem 'pg' 
end 

group :assets do 
    gem 'sass-rails', '~> 3.1.4' 
    gem 'coffee-rails', '~> 3.1.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

我跟着Heroku的教程這一點。推送工作,沒有錯誤報告。我跑了heroku rake db:migrateheroku addons:add logging。我也從應用程序中刪除了public/index.html。當我在本地運行應用程序rails server時,它工作正常。我也可以手動導航到「標記」索引,每個腳手架。

當我運行heroku open時,我得到的只是標準的We're sorry, but something went wrong. Rails頁面。 heroku logs一點都沒有顯示出來。

我在這裏做錯了什麼?這與測試用例一樣簡單,但是在擺弄它好幾個小時,創建新應用程序,刪除此應用程序並再次嘗試,嘗試部署其他應用程序等後,我無法使其工作。

+0

在heroku日誌中有沒有_nothing_?你至少應該看到你正在製作的請求。 –

+0

什麼都沒有。我輸入'heroku logs',出現一個暫停,然後我看到下一個命令提示符。 – Clay

+0

我會聯繫Heroku支持 - 有些東西並不在這裏。 –

回答

2

這裏的問題是Rails 3.1資產管道不能在Bamboo-mri-1.9.2上「開箱即用」,這是默認的heroku create

解決的辦法是做heroku create --stack cedar,然後推 - 都將被罰款呢:)

+0

注意,當你遷移到雪松時需要做heroku運行rake db:migrate。當你啓動它時,你會得到http://glowing-stone-9665.herokuapp.com/marks。 –

+0

謝謝!我不知道這個問題是什麼,可能從來沒有遇到過。 – Clay

1

嘗試這樣做只是爲了看看,如果這個工程:

rails new stackoverflow 
cd stackoverflow/ 
git init 
git add . 
git commit -m 'all' 
git remote add origin [email protected]:noahc/stackoverflow.git #you'll need to change this 
git push origin master 
heroku create 
git push heroku master 
heroku open 

如果不行的話,就必須要做些什麼與你的本地計算機。我只是遇到了這個問題,它在我的結尾工作。參見:http://gentle-dawn-1050.heroku.com。如果這不失敗,我會嘗試對GemFile進行更改,看看是否可以讓它以這種方式失敗。

+0

嗯......這很有效。讓我再次使用我的Heroku acct並且再次嘗試使用移植的香草應用程序。 – Clay

+0

如果我添加一個遷移並運行'heroku rake:db:migrate',那麼遷移似乎很順利。然而,'heroku open'讓我再次看到「我們很抱歉...」頁面。我的寶石文件只包含默認的源代碼行'gem'rails','3.1.1'和'gem'pg''。 'pg'不是用作數據庫適配器的合適gem嗎?這裏的回購:'https:// github.com/ccheaton/herokutest' – Clay

0

我有同樣的問題。看起來你已經到了你的問題的底部,但是對於未來的問題解決者,我想指出,這可能是你用於本地應用程序的數據庫與現場應用程序背後的數據庫之間的差異。在我的情況下,我的本地數據庫被填充,並且我的Heroku站點是空的,因爲我沒有正確遷移。

當我在終端中運行「rake db:reset」(清除我本地應用程序的數據庫中的所有數據)時,此問題才變得明顯,之後我能夠輕鬆找到代碼中的錯誤。

結論:如果您的數據庫中的信息可以忽略不計,我會建議您清理它並從那裏進行故障排除,因爲這可能是因爲您部署的站點目前還沒有數據,並且您的代碼可能不會「 t妥善處理那種異常.......

相關問題