2010-08-03 81 views
3

我有铁轨Rails 2.3.8和Devise 1.0.8。我也跟着installation instructions,但在尝试访问/用户/ sign_in当第一次修改后的routes.rb,我得到设计Ruby on Rails,安装后的路由问题

Internal Server Error 
undefined method `[]' for :users:Symbol 

当我重装,我得到

Routing Error 
No route matches "https://stackoverflow.com/users/sign_up" with {:method=>:get} 

如果把map.devise_for :users在其他map.之上,当尝试访问例如/艺术家或/歌曲时,我会遇到同样的路由错误。

我错过了什么吗?

更新:这里是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)   
+0

运行'rake routes'会得到什么结果? – 2010-08-03 11:00:28

+0

@John对我来说这很好。我已经用输出更新了我的帖子。 – Johan 2010-08-03 11:19:12

+0

我在这里遇到了同样的问题,并没有找到任何解决方案。有了这个,我只是不能使用设计! 我使用的是devise 1.0.8,rails 2.3.10,ruby 1.8.7。 – brunosprak 2011-01-25 00:10:04

回答

9

全力输出你知道吗?我现在花了10个小时。你知道吗?

killall server && script/server & 

现在我会自杀。