开发者

Issues with Devise routes - error in view pages

I had an existing User model before I installed Devise so I followed the instructions here.

I even generated the devise views. But when I am at my localhost and type in localhost:3000/users/sign_in or any of the 开发者_JAVA百科other routes available to me via devise, it doesn't work.

Also, my existing RESTful routes for users that I got from using

resources :users

are no longer available unless I have both:

devise_for :users
resources :users

but I thought I was supposed to delete the resources :users when I had the devise_for :users line in my routes file.

What is going on? Does anyone have any idea?

EDIT

The issue is when I go to users/password, it tells me that there is no user with ID=password, but this route is available to me.

I also have issues with the users/sign_in and users/sign_out. It redirects back to my root path for some reason. Sometimes it works, other times it doesn't and I am not sure why. The log looks like this:

Started GET "/users/sign_in" for 127.0.0.1 at 2011-09-16 19:05:43 -0400
Processing by Devise::SessionsController#new as HTML
User Load (0.3ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1
Redirected to http://localhost:3000/


What exactly doesn't work here? Are you getting anything useful in the logs or elsewhere? Also, have you setup your :users model to include the devise :recoverable, :authenticateable, ..., etc.?

You need both devise_for and resources defined in your config/routes.rb. devise_for sets up routes that will go to the devise controllers, but does not handle anything else. So you will still need normal resourceful routes for the user model to do add, update, delete, etc.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜