2010-10-12 266 views
0

嘗試訪問我的頁面時出現路由錯誤。Ruby on Rails路由問題

Routing Error 
No route matches "/" with {:method=>:get} 

錯誤日誌上寫着:

[4;36;1mSQL (0.1ms)[0m [0;1mSET NAMES 'utf8'[0m 
[4;35;1mSQL (0.0ms)[0m [0mSET SQL_AUTO_IS_NULL=0[0m 


Processing ApplicationController#index (for 68.116.193.166 at 2010-10-11 19:18:16) [GET] 

ActionController::RoutingError (No route matches "/" with {:method=>:get}): 
    config/initializers/mongrel.rb:62:in `dispatch_cgi' 

Rendering rescues/layout (not_found) 

通常當我看到這個我檢查路由在配置/ routes.rb中定義的,它們是。所以我想通過鍵入它可以訪問/新的,其中給了我下面的錯誤。

Routing Error 
No route matches **"//new"** with {:method=>:get} 

隨着development.log以下

[4;36;1mSQL (0.1ms)[0m [0;1mSET NAMES 'utf8'[0m 
[4;35;1mSQL (0.0ms)[0m [0mSET SQL_AUTO_IS_NULL=0[0m 


Processing ApplicationController#index (for 68.116.193.166 at 2010-10-11 19:18:21) [GET] 

ActionController::RoutingError (No route matches "//new" with {:method=>:get}): 
config/initializers/mongrel.rb:62:in `dispatch_cgi' 

Rendering rescues/layout (not_found) 

我的設置: 的Rails:2.3.8 紅寶石:1.8.7 的RubyGems:1.3.7 雜種:1.1.5

我覺得很奇怪,使用address/imgs/new返回路徑「// new」。我一直在強調這幾天,並找到答案無處可尋。希望有人知道如何解決這個問題,可以指出我在這裏失去的東西。由於提前

+0

你可以發佈'$ rake routes'的輸出嗎?請使用'1010'堆棧溢出格式化按鈕來格式化輸出,以便讀取。 – SooDesuNe 2010-10-12 00:27:47

+0

不幸的是,我不得不使用justhost來處理這個問題,並且必須處理它們和cPanel,所以我的功能有限。我確實有這個穩定的工作在我的本地機器上,當我運行耙子時,一切看起來都正確。有任何想法嗎? – 2010-10-12 00:46:06

+0

請向我們顯示config/routes.rb文件。 – 2010-10-12 00:46:31

回答

0

這裏是我的config/routes.rb中文件

ActionController::Routing::Routes.draw do |map| 
map.resources :vids 
map.resources :users 
map.resources :tasks 
map.resources :quotes 
map.resources :projects 
map.resources :products 
map.resources :permissions 
map.resources :pages 
map.resources :orders 
map.resources :imgs 
map.resources :documents 
map.resources :contents 
map.resources :contacts 
map.resources :comments 
map.resources :clients 
map.resources :addresses 
map.resources :users 
map.login "login", :controller => "user_sessions", :action => "new" 
map.logout "logout", :controller => "user_sessions", :action => "destroy" 
map.connect ':controller/:action/:id' 
map.connect ':controller/:action/:id.:format' 
end 
+0

那麼根路線在哪裏?因爲你沒有路由匹配'/'這應該是根路由。你應該有像'map.root:controller =>「something」' – PeterWong 2010-10-12 01:22:58

+0

我不能相信我錯過了。我已經補充說,但現在它重新路由所有的路徑。因此,如果我訪問www.swinkapps.com/imgs或www.swinkapps.com/users,那麼我會得到與「設置」相同的「項目」索引頁。即使如果我嘗試創建一個新的項目,它會給我以下錯誤 路由錯誤 沒有路由與{:method =>:get}匹配「// new」 – 2010-10-12 01:53:52

+0

我不認爲這是他的問題。 'map.root:controller'是沒有必要的。從默認routes.rb:「你可以讓你的網站的根與map.root路由 - 只記得刪除public/index.html。」 – SooDesuNe 2010-10-12 01:55:13

0

這只是我恍然大悟,我可能能夠通過確保端口包括果然WWW去的機型。 swinkapps.com:12005/imgs給了我適當的迴應。有沒有辦法來覆蓋這個,以便www.swinkapps.com:12005映射到www.swinkapps.com?