【发布时间】:2026-01-12 05:40:01
【问题描述】:
我已经设法制作了一个仅用于注册和登录的应用程序。目前,我允许用户通过邮件帐户激活(按照本教程:https://www.railstutorial.org/book/account_activation_password_reset 和'rails generate controller AccountActivations -- no-test-framework'),但我希望管理员能够激活或停用用户。在我的用户模型中,我设法定义了两种方法:
def activate_account!
update_attribute :is_active, true
end
def deactivate_account!
update_attribute :is_active, false
end
在我的用户部分视图中,我设法
<% if current_user.admin? && !current_user?(user) %>
<%= button_to "Deactivate", user, data: { confirm: "Are you sure?" } %>
<% end %>
我的路线如下所示:
get 'password_resets/new'
get 'password_resets/edit'
root 'static_pages#home'
get 'help' = 'static_pages#help'
get 'about' = 'static_pages#about'
get 'contact' = 'static_pages#contact'
get 'signup' = 'users#new'
get 'login' = 'sessions#new'
post 'login' = 'sessions#create'
delete 'logout' = 'sessions#destroy'
resources :users
resources :account_activations, only: [:edit]
resources :password_resets, only: [:new, :create, :edit, :update]
问题是我不知道如何进行。我不想使用 Devise 或 CanCan,因为作为初学者,我想知道如何手动操作。请帮助我从应用程序中实现用户的激活和停用(管理员只能这样做)。
【问题讨论】:
标签: ruby-on-rails ruby admin activation