2010-10-15 83 views
0

我是runnng Rails 2.3.8。Rails足智多謀的路線都指向索引操作?

我在我的routes.rb文件中設置了map.resources :users

當我運行rake routes它表明:

users GET /users(.:format)     {:action=>"index", :controller=>"users"} 
GET /users(.:format)     {:action=>"index", :controller=>"users"} 
new_user GET /users/new(.:format)    {:action=>"index", :controller=>"users"} 
edit_user GET /users/:id/edit(.:format)   {:action=>"index", :controller=>"users"} 
user GET /users/:id(.:format)    {:action=>"index", :controller=>"users"} 
GET /users/:id(.:format)    {:action=>"index", :controller=>"users"} 
GET /users/:id(.:format)    {:action=>"index", :controller=>"users"} 
/:controller/:action/:id   
/:controller/:action/:id(.:format) 

很抱歉的格式。但重點是...... 1)我的「PUT」,「POST」等路線在哪裏?2)爲什麼一切指向index

任何幫助將不勝感激...謝謝!

UPDATE:全路線文件:

ActionController::Routing::Routes.draw do |map| 
    map.login "login", :controller => "user_sessions", :action => "new" 
    map.logout "logout", :controller => "user_sessions", :action => "destroy" 

    map.resources :users 

    map.connect ':controller/:action/:id' 
    map.connect ':controller/:action/:id.:format' 
end 

而且我users_controller具有所有常見的新,創建,顯示,編輯,更新方法...

+0

發佈你的實際routes.rb文件 – s84 2010-10-15 03:02:58

+0

用完整路線文件更新它。 – 2010-10-15 03:17:29

回答

0

我認爲你有兩個問題之一:或者rake routes的輸出已被您的終端屏幕破壞,或者您的路線被您安裝的其他東西(如軌道引擎)覆蓋。

第一個很容易檢查。這聽起來像你有一個基本的用戶腳手架設置(並沒有太多其他),所以啓動script/server,去http://localhost:3000/users/new。如果你看到新的用戶頁面,你有一個終端顯示問題,但你的路線沒問題。但是,如果您看到用戶索引頁面,請繼續下一步。

仔細檢查您上面張貼的路線文件確實是您的應用程序的文件。這聽起來很荒謬,但在一些編輯器中很容易打開錯誤的文件。例如,在TextMate中,如果您有一些寶石出售並通過命令T打開路徑文件,則可以有多個routes.rb文件供您選擇。

如果您確定您正在查看正確的路線文件,那麼下一步是檢查您的應用程序是否有其他可能覆蓋主文件的routes.rb文件。從終端,您可以運行find ./ -name routes.rb,這將列出任何其他路線文件。如果您安裝了任何引導引擎,則這一點尤其可能。

讓我知道這是怎麼回事 - 如果你仍然有問題,你可以壓縮你的應用程序,並通過電子郵件發送給我,我會看看。

+0

sooo我想通了什麼是造成這個問題。但我不知道爲什麼......事實證明它是捆綁銷售的!只要我從boot.rb中取出捆綁代碼,路由就會自行修正...... – 2010-10-15 05:21:58