在安装Devise之前我有一个现有的用户模型,所以我按照here的说明进行操作。
我甚至生成了设计视图。但是当我在我的localhost并键入localhost:3000 / users / sign_in或通过设计可用的任何其他路由时,它不起作用。
此外,我使用
获得的用户现有的RESTful路由resources :users
不再可用,除非我同时拥有:
devise_for :users
resources :users
但我认为我应该删除资源:当我在路由文件中使用devise_for:users行时,用户将被删除。
发生了什么事?有没有人有任何想法?
修改
问题是当我转到用户/密码时,它告诉我没有ID =密码的用户,但我可以使用此路由。
我也遇到了用户/ sign_in和users / sign_out的问题。由于某种原因,它会重定向回我的根路径。有时候它会起作用,有时则不起作用,我不知道为什么。日志看起来像这样:
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/
答案 0 :(得分:0)
这究竟不起作用?你在日志或其他地方得到了什么有用的东西吗?另外,您是否设置了:users模型以包含devise :recoverable, :authenticateable, ...
等?
您需要在config / routes.rb中定义devise_for
和resources
。 devise_for
设置将发送到设计控制器的路由,但不处理其他任何操作。因此,您仍然需要正常的资源路由,以便用户模型进行添加,更新,删除等操作。