Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 重置密码链接要求用户登录_Ruby On Rails_Ruby On Rails 3_Devise - Fatal编程技术网

Ruby on rails 重置密码链接要求用户登录

Ruby on rails 重置密码链接要求用户登录,ruby-on-rails,ruby-on-rails-3,devise,Ruby On Rails,Ruby On Rails 3,Devise,我正在使用Desive进行身份验证。当调用忘记密码时,它会询问邮件地址并发送邮件链接,但当我单击邮件中的链接时,我会得到: 继续之前,您需要登录或注册 如何更改此设置,以便在单击链接时要求输入新密码 更新: 我改变了我的路线如下: devise_for :users do resources :users, :only => [:index, :new, :create, :edit, :update, :destroy] end 似乎您更改了管理密码的控制器(designe::p

我正在使用Desive进行身份验证。当调用忘记密码时,它会询问邮件地址并发送邮件链接,但当我单击邮件中的链接时,我会得到:

继续之前,您需要登录或注册

如何更改此设置,以便在单击链接时要求输入新密码

更新:

我改变了我的路线如下:

devise_for :users do
  resources :users, :only => [:index, :new, :create, :edit, :update, :destroy] 
end

似乎您更改了管理密码的控制器(
designe::passwords默认情况下为controller
),并在\u过滤器之前添加了
:验证\u用户输入,是吗?然后您需要卸下过滤器

如果没有,您能描述一下您所做的定制吗

更新:这是因为您的资源和设计路线冲突。您可以在这里找到解决方案。

添加此行:

skip_before_filter :authenticate_user, :only => ['password_change_action']

password\u change
操作的控制器。

我已将路径更改为“Desive\u for:users do resources:users,:only=>[:index,:new,:create,:edit,:update,:destroy]end”我无法在Rubyman的答案下写评论,但由于您的:users资源,将显示“找不到id=password的用户”。它尝试调用您的“用户显示”操作。您可以找到解决方案。它显示“找不到id=密码的用户”