2012-11-23 93 views
1

我只是想在我的新VPS服務器上用Ubuntu 12.04,Apache和PhusionPassenger測試一個簡單的rails應用程序。刪除public/index.html後出現錯誤404

一切工作正常與公共目錄中的默認index.html文件。

但是,如果我刪除這個文件,並嘗試從視圖目錄呈現文件,我得到和404錯誤。 在我的本地機器上,一切正常......

我想,也許它與資產管道有關,所以我試着「耙資產:預編譯」,但它沒有幫助。

編輯:我已經設置了正確的根路徑,並帶有操作和方法。

+0

您是否記得在您的routes.rb文件中設置一個新的':root'? – MrDanA

+0

其他路線有效嗎? – Mab879

+0

我沒有其他路線。我剛剛創建了一個默認的rails應用程序,並想測試webserver上的所有內容。我生成了一個控制器和一個模板,刪除了public/index.html並更新routes.rb – crispychicken

回答

1

我發現我的問題的解決方案:

日誌文件顯示 「application.css不預編譯」 。

而不是:rake assets:precompile我用bundle exec rake assets:precompile,現在它工作正常!

2

也許你沒有在你的應用程序中設置root_path。你可以像這樣設置它:root => "controller_name#action_name"

0

index.html文件是您的根網址的默認替代品。

所以,當你刪除它,那麼沒有路由處理根網址(/)。

設置根URL(/),這些航線將做:

root :to => 'controller#action' 
root => 'controller#action' 
get '/' => 'controller#action' 
+0

我在routes.rb中的根URL是正確的。如果我在本地機器上運行rails服務器,一切正常。只有在服務器上部署後,我纔會收到錯誤消息。如果我有服務器上的public/index.html,它也可以... – crispychicken