在安装Devise之前,我有一个现有的用户模型,因此我按照说明here。设计路线的问题 - 查看页面中的错误
我甚至生成了设计视图。但是,当我在我的本地主机,并输入本地主机:3000 /用户/ sign_in或任何其他路线可通过设计,这是行不通的。
而且,我现有的REST风格的路线,我使用了
resources :users
不再可用,除非我有两个用户:
devise_for :users
resources :users
,但我认为我应该删除该资源:用户在我的路线文件中有devise_for:users行时。
这是怎么回事?有人有什么主意吗?
编辑
的问题是,当我去到的用户/密码,它告诉我,有一个与ID =密码没有用户,但是这条线路提供给我。
我也有用户/ sign_in和用户/ sign_out的问题。由于某种原因它重新导向我的根路径。有时它有效,其他时间则不起作用,我不知道为什么。日志看起来像这样:
Started GET "https://stackoverflow.com/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/
嗨,刚编辑的问题,基本上我的本地主机:3000 /用户/密码不起作用。它告诉我“没有ID =密码的用户”。 – noob
@ming,确保devise_for是在resources:users之前的routes.rb文件中定义的。 routes.rb文件按顺序处理,并返回匹配的第一个路由。 – ipd
谢谢。事实证明,这个问题不是设计。我意识到日志说,mysql SELECT'users'。* FROM'users' WHERE'users'.'email'是NULL NULL限制1.不是取出邮件[email protected],而是取出电子邮件NULL。任何想法,为什么? – noob