gpt4 book ai didi

ruby-on-rails-3 - 在哪里覆盖设计 gem 的 current_user 辅助方法

转载 作者:行者123 更新时间:2023-12-03 10:21:28 24 4
gpt4 key购买 nike

我如何覆盖设计 gem 的 current_user。
实际上我需要为移动应用程序添加网络服务。

目前的设计是管理网络应用程序的 session 和“当前用户”。

现在移动应用程序将发送 user_id 到服务器。我需要像这样覆盖当前用户

def current_user
if params[:user_id].blank?
current_user
else
User.find(params[:user_id])
end
end

我是否需要将设计 gem 修改为插件?或者是其他东西 ?
请详细解释,因为我是 Rails 新手。

亲切的问候,

最佳答案

根据模块Devise::Controllers::Helpers , current_user (与所有其他设计助手一起)被添加到 ApplicationController,这意味着您可以通过这种方式覆盖它:

# in application_controller.rb

def devise_current_user
@devise_current_user ||= warden.authenticate(scope: :user)
end

def current_user
if params[:user_id].blank?
devise_current_user
else
User.find(params[:user_id])
end
end

关于ruby-on-rails-3 - 在哪里覆盖设计 gem 的 current_user 辅助方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10349606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com