设计..首次登录后应要求更改密码

2024-03-17

我在我的应用程序中使用设备作为身份验证。

我需要在设备中实现功能。首次登录后,用户应要求更改密码。

我尝试通过模型

 after_create :update_pass_change

    def update_pass_change
     self.pass_change = true
     self.save
    end 

检查current_user.sign_in_count是判断首次登录的方法。

你会做这样的事情。

class ApplicationController < ActionController::Base
  def after_sign_in_path_for(resource)
    if current_user.sign_in_count == 1
      edit_passwords_path
    else
      root_path
    end
  end
end

您需要实施编辑/更新密码操作。

class PasswordsController < ApplicationController
  def edit
  end

  def update
    if current_user.update_with_password(user_params)
      flash[:notice] = 'password update succeed..'
      render :edit
    else
      flash[:error] = 'password update failed.'
      render :edit
    end
  end

  private
    def user_params
      params.require(:user).permit(:current_password, :password, :password_confirmation)
    end
end

配置/routes.rb

resource :passwords

应用程序/视图/密码/_form.html.erb

<%= form_for current_user, url: passwords_path do |f| %>
  current_password:<br />
  <%= f.password_field :current_password %><br />
  password:<br />
  <%= f.password_field :password %><br />
  password_confirmation:<br />
  <%= f.password_field :password_confirmation %><br />
  <br />
  <%= f.submit %>
<% end %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设计..首次登录后应要求更改密码 的相关文章

随机推荐

  • Datastax java 驱动程序 3.0.0 未找到枚举注释

    希望我能很好地阅读文档 http docs datastax com en developer java driver 3 0 java driver reference crudOperations html http docs data
  • 如何使用 glide 加载圆形 appcompat 操作栏徽标

    到目前为止 我已经完成了以下操作 如果我省略圆形图像创建部分 它可以正常工作 但我必须在操作栏中显示圆形图像 这是我到目前为止所尝试过的 任何帮助将不胜感激 Glide with mContext load doctorDetailsLis
  • 使用 Android SDK 3.0 登录 Facebook 导致 ANR 或根本无法工作

    为了让用户在 Android 应用程序中登录 Facebook 我尝试使用以下代码 用户登录后 应获取其所有朋友的位置 不幸的是 此代码有时会导致 ANR 如 Google Play 开发者控制台中报告的那样 有时甚至不起作用 如果我删除
  • 访问 iframe 中的表

    i have a website login email protected cdn cgi l email protection pas 12345678 log in and go to the drivers section left
  • 代码签名错误:身份“iPhone Developer”与默认钥匙串中的任何有效证书/私钥对不匹配

    我正在尝试创建我的应用程序的临时发行版以发送给同事 尝试存档我的项目以供分发时出现以下错误 代码签名错误 身份 iPhone 开发者 与任何有效的不匹配 中的证书 私钥对 默认钥匙串 这些是我遵循的步骤 我已在配置门户中注册了该设备 我已在
  • Vulkan命令执行顺序

    引用Vulkan 1 0规范文档 chapter 5 Command Buffers 第4段 除非另有说明 并且没有显式同步 否则通过命令缓冲区提交到队列的各种命令可以按相对于彼此的任意顺序执行 和 或同时执行 在第2 1 1章 队列操作
  • LDADD 和 LIBADD 有什么区别?

    我正在尝试设置一个混合使用 libtool 库和可执行文件的 automake 项目 并且我很难理解 automake 文档 尤其是 as 涉及告诉编译器进行链接 那么有人可以解释一下之间的区别吗LDADD and LIBADD 像 什么时
  • 如何将 cv::Mat 转换为 QImage 或 QPixmap?

    我尝试环顾四周并尝试了我发现的所有内容 但尚未找到解决此问题的方法 我正在尝试通过单击按钮来更新 QT 应用程序中的图像 在构造函数中 我成功地显示了图像 cv Mat temp cv Mat this gt cv size CV 8UC3
  • “推送通知”-反馈、卸载应用

    Apple 推送通知 反馈服务 您如何知道用户何时卸载您的应用程序 这样您就可以从推送服务器中删除他们的设备令牌 你根本不知道 您可以获取对于同一应用程序令牌字符串可能相同的设备标识字符串 并跟踪特定设备的令牌是否已更改 因此 您可以使用新
  • Web Essentials 2017 和 TypeScript 定义生成

    刚刚从 Visual Studio 市场安装了 Web Essentials 2017 但似乎缺少从 C 类创建 TypeScript 定义的功能 在 Web Essentials 2015 中 我将鼠标右键悬停在 C 类文件上 将会出现一
  • JavaScript 对象字面量和数组

    我有以下 JavaScript 代码 oCoord x null y null var aStack oCoord x 726 oCoord y 52 aStack push oCoord oCoord x 76 oCoord y 532
  • file_get_contents 失败并显示“getaddrinfo 失败:没有与主机名关联的地址”

    我正在尝试从另一台主机获取该页面 我按照 hph 手册所述 page file get contents http www example com echo page 但它失败了 在 apache 日志中我得到以下内容 Mon Oct 12
  • 为什么scss/css中文件名前面要加“_”或“_”?

    Why put scss 中文件名前面 filename scss 为什么需要 下划线 是 scss 的部分内容 这意味着样式表将被导入 import 到主样式表 即 styles scss 使用部分的优点是您可以使用多个文件来组织代码 并
  • 教义 2 中的关系

    我完全没有理解教义中的关联 我想知道单向和双向关系有什么区别 学说2中的正方和反方是什么 双向和单向关系 双向和单向与 PHP 对象中的引用有关 如你看到的here http www doctrine project org docs or
  • 使用 CGMutablePath 创建路径会创建指向错误 CGPoint 的线

    我打算在屏幕上用 2D 箭头显示 AR 对象的信息 所以我用了projectPoint获取物体在屏幕中对应的位置 我有这个函数返回将节点的 3D 位置转换为 2D 并CGPoint显示信息文本 func getPoint sceneView
  • 通过socket编程将png图像文件从服务器(桌面)发送到客户端(android)

    我创建了一个 Android 应用程序 其中 Android 应用程序充当客户端 服务器驻留在桌面上 我正在使用套接字编程进行通信 我已成功在客户端和服务器之间传输消息 但我不知道如何传输图像 我需要将图像文件从服务器发送到客户端 不是从客
  • 是否有用于 mp4 文件的 Java API?

    可以使用此处理 M3 文件mp3 SPI 支持 http www javazoom net mp3spi sources html 但我没有找到类似于 mp4 文件的内容 任何帮助 将不胜感激 UPDATE 我想要做的是获取文件的大小 就像
  • 如何在 SwiftUI 中有效过滤长列表?

    我一直在编写我的第一个 SwiftUI 应用程序 它管理图书收藏 它有一个List大约 3 000 个项目 加载和滚动非常高效 如果使用切换控件来过滤列表以仅显示书籍 则更新前 UI 不会冻结二十到三十秒 大概是因为 UI 线程正忙于决定是
  • JavaScript 中的基本正则表达式

    一段时间以来 我一直在尝试理解 JavaScript 中的正则表达式 但它非常复杂 您可以告诉我如何使用正则表达式分别兑换下面 URL 中的每个值 URL first middle last Return var first first v
  • 设计..首次登录后应要求更改密码

    我在我的应用程序中使用设备作为身份验证 我需要在设备中实现功能 首次登录后 用户应要求更改密码 我尝试通过模型 after create update pass change def update pass change self pass