我在让devise的重置密码页面实际呈现时遇到了很多麻烦。我已经覆盖了编辑功能,并试图迫使它渲染视图,但它最终是一个空字符串。有什么办法可以让它正常工作吗?
侧面说明的是,我在API模式下使用的是rails,是否有什么我需要配置的东西来让页面渲染?
class PasswordsController < Devise::PasswordsController
def edit
self.resource = resource_class.new
set_minimum_password_length
resource.reset_password_token = params[:reset_password_token]
render template: 'devise/users/passwords/edit'
end
end
好吧,虽然严格说来,需要添加以下内容 view
,但如果你的应用是那种只用端点的API,那肯定不是办法,所以你不应该重新定义设备方法什么的。
如果是API模式,你需要在FE部分实现路由,然后用Device的端点来重置密码逻辑。
顺便说一下,这是一个常见的功能,Device的wiki上至少介绍了3种实现这个功能的方案,请查看这个链接。
https:/github.comheartcombodevisewikiHow-To:-Allow-users-to-edit-their-password(允许用户编辑密码)
希望对你有帮助