我有 Rails Rails 2.3.8 和 Devise 1.0.8。我关注了installation instructions ,但是在修改 routes.rb 后第一次尝试访问/users/sign_in 时,我得到了
Internal Server Error
undefined method `[]' for :users:Symbol
当我重新加载时,我得到
Routing Error
No route matches "/users/sign_up" with {:method=>:get}
如果将 map.devise_for :users
放在其他 map.
之上,我会在尝试访问例如/artists 或/songs 时遇到相同类型的路由错误。
我错过了什么吗?
更新:这是 rake routes
new_user_session GET /users/sign_in {:controller=>"sessions", :action=>"new"}
user_session POST /users/sign_in {:controller=>"sessions", :action=>"create"}
destroy_user_session GET /users/sign_out {:controller=>"sessions", :action=>"destroy"}
new_user_password GET /users/password/new(.:format) {:controller=>"passwords", :action=>"new"}
edit_user_password GET /users/password/edit(.:format) {:controller=>"passwords", :action=>"edit"}
user_password PUT /users/password(.:format) {:controller=>"passwords", :action=>"update"}
POST /users/password(.:format) {:controller=>"passwords", :action=>"create"}
new_user_registration GET /users/sign_up(.:format) {:controller=>"registrations", :action=>"new"}
edit_user_registration GET /users/edit(.:format) {:controller=>"registrations", :action=>"edit"}
user_registration PUT /users(.:format) {:controller=>"registrations", :action=>"update"}
DELETE /users(.:format) {:controller=>"registrations", :action=>"destroy"}
POST /users(.:format) {:controller=>"registrations", :action=>"create"}
songs GET /songs(.:format) {:controller=>"songs", :action=>"index"}
POST /songs(.:format) {:controller=>"songs", :action=>"create"}
new_song GET /songs/new(.:format) {:controller=>"songs", :action=>"new"}
edit_song GET /songs/:id/edit(.:format) {:controller=>"songs", :action=>"edit"}
song GET /songs/:id(.:format) {:controller=>"songs", :action=>"show"}
PUT /songs/:id(.:format) {:controller=>"songs", :action=>"update"}
DELETE /songs/:id(.:format) {:controller=>"songs", :action=>"destroy"}
artist_songs GET /artists/:artist_id/songs(.:format) {:controller=>"songs", :action=>"index"}
POST /artists/:artist_id/songs(.:format) {:controller=>"songs", :action=>"create"}
new_artist_song GET /artists/:artist_id/songs/new(.:format) {:controller=>"songs", :action=>"new"}
edit_artist_song GET /artists/:artist_id/songs/:id/edit(.:format) {:controller=>"songs", :action=>"edit"}
artist_song GET /artists/:artist_id/songs/:id(.:format) {:controller=>"songs", :action=>"show"}
PUT /artists/:artist_id/songs/:id(.:format) {:controller=>"songs", :action=>"update"}
DELETE /artists/:artist_id/songs/:id(.:format) {:controller=>"songs", :action=>"destroy"}
artists GET /artists(.:format) {:controller=>"artists", :action=>"index"}
POST /artists(.:format) {:controller=>"artists", :action=>"create"}
new_artist GET /artists/new(.:format) {:controller=>"artists", :action=>"new"}
edit_artist GET /artists/:id/edit(.:format) {:controller=>"artists", :action=>"edit"}
artist GET /artists/:id(.:format) {:controller=>"artists", :action=>"show"}
PUT /artists/:id(.:format) {:controller=>"artists", :action=>"update"}
DELETE /artists/:id(.:format) {:controller=>"artists", :action=>"destroy"}
root / {:controller=>"home", :action=>"index"}
/:controller/:action/:id
/:controller/:action/:id(.:format)
最佳答案
你知道吗?我现在已经在这上面花了 10 个小时。你知道吗?
killall server && script/server &
现在我也要自杀了。
关于ruby-on-rails - 为 Ruby on Rails 设计,安装后的路由问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3395824/