Rails Devise集成 #

一、安装Devise #

1.1 Gemfile #

ruby
gem 'devise'

1.2 安装 #

bash
bundle install
rails generate devise:install
rails generate devise User
rails db:migrate

二、配置Devise #

2.1 路由配置 #

ruby
# config/routes.rb
Rails.application.routes.draw do
  devise_for :users
end

2.2 模型配置 #

ruby
class User < ApplicationRecord
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable
end

三、使用Devise #

3.1 控制器过滤器 #

ruby
class ArticlesController < ApplicationController
  before_action :authenticate_user!
end

3.2 视图助手 #

erb
<% if user_signed_in? %>
  <%= current_user.email %>
  <%= button_to '退出', destroy_user_session_path, method: :delete %>
<% else %>
  <%= link_to '登录', new_user_session_path %>
<% end %>

四、总结 #

4.1 核心要点 #

要点 说明
安装 devise gem
配置 devise_for
过滤器 authenticate_user!
助手 current_user

4.2 下一步 #

现在你已经掌握了Devise,接下来让我们学习 JWT认证,深入了解Rails的API认证!

最后更新:2026-03-28