我正在使用设计进行身份验证。当忘记密码被调用时,它会询问邮件地址并发送一个指向邮件的链接,但是当我点击邮件中的链接时,我得到:
您需要先登录或注册,然后才能继续。
如何更改此设置,以便在单击链接时要求输入新密码?
更新:
我已将路线更改如下:
devise_for :users do
resources :users, :only => [:index, :new, :create, :edit, :update, :destroy]
end
我正在使用设计进行身份验证。当忘记密码被调用时,它会询问邮件地址并发送一个指向邮件的链接,但是当我点击邮件中的链接时,我得到:
您需要先登录或注册,然后才能继续。
如何更改此设置,以便在单击链接时要求输入新密码?
更新:
我已将路线更改如下:
devise_for :users do
resources :users, :only => [:index, :new, :create, :edit, :update, :destroy]
end
看来您更改了管理密码的控制器(Devise::PasswordsController
默认情况下)并添加before_filter :authenticate_user!
了,对吗?然后你需要移除过滤器。
如果没有,您能描述一下您所做的定制吗?
更新:这是因为您的资源和设计的路线冲突。在设计 wiki 上,您可以找到解决方案。
添加这一行:
skip_before_filter :authenticate_user, :only => ['password_change_action']
到password_change
动作的控制器。