2011-09-11 294 views
1

我無法使用Ruby on Rails連接到本地主機。我做了全新的安裝(即使使用明確的命令,如rails new test_app -d mysql),但它永遠不會連接到頁面。當我嘗試使用localhost:3000時,只有一個白頁,並且Firefox加載圖標不會停止。當我第一次安裝它時,啓動屏幕加載正常 - 但添加資源後,它只是掛起。我可以使用rake db:migrate將資源添加到數據庫。這裏是我的database.yml:Ruby on Rails應用程序未連接

development: 
    adapter: mysql2 
    host: localhost 
    username: root 
    password: root 
    database: limetree 
    socket: /tmp/mysql.sock 

測試和生產環境是相同的設置。奇怪的是,我可以使用控制檯將資源/表添加到我的數據庫 - 這只是我的瀏覽器似乎無法使用應用程序的控制器連接到數據庫。我也認爲這可能是一個路由問題。我在routes.rb中改變的唯一一行是:

root :to => "home#index" 

有沒有人知道爲什麼我的Rails應用程序沒有加載?

UPDATE:

因爲我是跑外的最新版本(1.8.7的Ruby和Rails 3.0.1),我重新安裝了一切從頭開始使用最新的軟件。耙寶石有一個小問題,通過重新安裝它可以解決問題。現在一切正常。

+0

當您嘗試localhost:3000時,是否有任何由rails server顯示的日誌? – binarycode

回答

0

嘗試password: "root"在您的配置文件

+0

沒有變化。我不認爲這會成爲問題,因爲'rails生成scaffold'能夠連接到數據庫。 – hohner

+0

編輯配置後是否啓動了重新啓動服務器?在我的練習中,我有這個問題3到4次,每次密碼都不被引用 –

+0

通過配置文件,我假設你的意思是database.yml是啊?我已經重新啓動服務器,沒有任何改變。我也嘗試在不同的環境中運行服務器,但它仍然無法連接。 – hohner

0

http://localhost:3000,在你的Rails應用程序目錄中打開文件日誌/ development.log,看看是否有任何有用的信息。

+0

所有的幾行代碼都顯示了我生成我的測試資源的位置,以及:「啓動GET」/「for 127.0.0.1 at Sun Sep 11 17:43:45 +0100 2011' – hohner

0

確保你的MySQL服務器確實在運行。你可以嘗試在路由文件中使用這樣的:

match ':controller(/:action(/:id(.:format)))' 
0

既然你已經設置一個主頁,確保你有一個叫做「家」控制器,它有所謂的「指數」的操作。