ruby-on-rails-3 – 覆盖devise gem的current_user帮助方法

我如何覆盖deviz宝宝的current_user。
其实我需要为移动应用添加网络服务。

目前设计的是管理会话和“current_user”用于Web应用程序。

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

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

我需要修改devise gem作为插件吗?或者是其他东西 ?
请详细说明,因为我是新的轨道。

亲切的问候,

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

# in application_controller.rb
alias_method :devise_current_user, :current_user
def current_user
  if params[:user_id].blank?
    devise_current_user
  else
    User.find(params[:user_id])
  end   
end
http://stackoverflow.com/questions/10349606/where-to-override-current-user-helper-method-of-devise-gem

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:ruby-on-rails-3 – 覆盖devise gem的current_user帮助方法