Ruby on rails 重置密码链接要求用户登录
我正在使用Desive进行身份验证。当调用忘记密码时,它会询问邮件地址并发送邮件链接,但当我单击邮件中的链接时,我会得到: 继续之前,您需要登录或注册 如何更改此设置,以便在单击链接时要求输入新密码 更新: 我改变了我的路线如下: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
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=密码的用户”