微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

设计编辑密码页面-访问用户模型

如何解决设计编辑密码页面-访问用户模型

| 我需要自定义Devise编辑密码页面,以包含User模型中包含的一些详细信息。 我在网上快速浏览了一下,但是找不到任何文档提及该用户模型的视图。 有办法访问吗? 编辑:我有一些意见,特别是关于在编辑密码页面中访问用户模型的。我需要个性化。     

解决方法

= render :template => \'devise/passwords/edit\',:locals => {:resource => current_user,:resource_name => User }
尝试一下 对于devise_errors包含ѭ1或编写您自己的错误处理程序     ,运行此命令,它将视图复制到R <3的\'shared \'和R3的\'devise \'文件夹。
rails g devise:views
然后,您可以自定义视图。您应该能够理解这些Volder中的所有内容,而这仅仅是Rails MVC的东西。 如果您有特定的设计模型,则应按名称指定模型:
rails g devise:views users
    ,
rails generate devise:views users
这将为用户模型生成视图。然后,您可以手动编辑所需的内容。     ,在github(https://github.com/plataformatec/devise/wiki)上查看devise Wiki,此外,您完全想做的是在应用程序主页中运行以下命令。
rails g devise:views
或特定型号
rails g devise:views modelName
这将在app / views / devise下创建视图树。 在视图中,将该对象称为“ 7”
<%= form_for(resource,:as => resource_name,:url => session_path(resource_name)) do |f| %>
...
您可以安全地删除不需要的视图,如果您想使用haml或slim的视图,也可以,请参见此Wiki页面=> https://github.com/plataformatec/devise / wiki /操作方法:创建汉密尔顿和苗条视图     ,我想做同样的事情。我暂时将ѭ9放入视图中,发现它是一个User实例,具有所有属性
nil
,ѭ11除外。鉴于此,我使用蛮力访问了相应的用户记录:
User.find_by_reset_password_token(resource.reset_password_token)
或更笼统地说:
resource.class.find_by_reset_password_token(resource.reset_password_token)
您可以在视图中直接使用它,如果要覆盖Devise控制器,则可以将其分配给控制器中的实例变量。请注意,如果令牌无效,它将返回nil。 (似乎Devise直到用户提交表单后才检查令牌的有效性,因此您可以使用无效的令牌进入此视图。) 更新03/2014 从devise 3.1开始,您需要在查找之前消化令牌:
resource.class.find_by_reset_password_token(Devise.token_generator.digest(resource.class,:reset_password_token,resource.reset_password_token))
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。