Rails: 如何在Rails中实现高效的登录功能
本文将介绍如何在Rails中使用Devise gem
库快速、简单地实现登录功能,同时提供一些关键技巧和最佳实践。
简介
版本信息
![20230323155523](https://i-blog.csdnimg.cn/blog_migrate/0c5ab938b1a153aa59368d869e44a229.png)
步骤1:将Devise添加到Gemfile中
下一步是将Devise
添加到Gemfile
。Gemfile
是一个指定应用程序依赖项的文件。 在文本编辑器中打开Gemfile
并添加以下行:
gem 'devise'
保存Gemfile
,执行如下命令安装。
bundle install
步骤2:运行设计生成器
现在我们已经安装了Devise
,我们需要运行它的生成器来生成必要的文件。 运行generator
命令:
rails generate devise:install
这将生成一个初始化器文件config/initializers/devise.rb
。 我们可以使用它来配置Devise
。 它还将显示一些关于我们下一步需要做什么的指示。
步骤3:生成设计模型
要使用Devise
,我们需要为它生成一个模型。 运行如下命令生成User
模型:
rails generate devise User
这将生成一个具有身份验证所需属性的User
模型。 它还将生成一个迁移文件,我们需要运行该文件来创建必要的数据库表:
rails db:migrate
这将在数据库中创建一个users表。
步骤4:更新路由
现在我们有了模型和迁移,我们需要更新我们的路由以包括设计路由。 打开config/routes
。 在文本编辑器中添加Rb文件,并添加以下行:
devise_for :users
这将为Devise
生成所有必要的路径。 可以使用如下命令查看可用路由:
rails routes
步骤5:添加设计视图
默认情况下,Devise
提供了一组可用于身份验证的视图。 要生成这些视图,运行以下命令:
rails generate devise:views
这将在app/views/devise
目录中生成所有必要的身份验证视图。
步骤6:更新应用程序控制器
最后一步是更新我们的ApplicationController
以包括辅助方法。 打开app/controllers/application_controller.rb
。 在文本编辑器中添加Rb文件,并添加以下行:
class ApplicationController < ActionController::Base
before_action :authenticate_user!
end
这将确保所有控制器在被访问之前都需要身份验证。
回顾
总之,将Devise
集成到Ruby on Rails应用程序中是一个简单而直接的过程。通过执行这些步骤,您可以立即在Rails应用程序中启动并运行用户身份验证。 Devise
是一个功能强大的宝石,提供了许多开箱即用的特性,使其成为Rails应用程序中用户身份验证的热门选择。
Reference
https://makingsenseofrails.dev/how-to-set-up-devise-in-rails-7-72626ead7e0b
本文由 mdnice 多平台发布