【发布时间】:2016-03-18 15:20:00
【问题描述】:
我想从第三方 gem 覆盖控制器(继承自 ActionController)的一些方法。
我的问题是我无法访问 current_user,因为控制器不是从 ApplicationController 继承的。
有什么方法可以访问这个控制器中的 current_user 吗?
编辑:
第 3 方宝石 -> spree_api
在 spree_api 中,我们必须为每个请求提供一个 api_key,但我想使用一些不需要任何特殊权限且可以由来宾用户调用的方法。所以我跳过了像这样的方法的身份验证:
module Spree
module Api
ProductsController.class_eval do
skip_before_action :authenticate_user, :only => :index
def index
...
current_user # -> undefined local variable or method `current_user'
....
end
end
【问题讨论】:
-
您使用的 3rd 方 gem 是什么?
-
第三方宝石:spree_api
-
您使用的是哪个控制器??通过提供尽可能多的信息来帮助我们帮助您,以便我们识别和解决您的问题。 “gem”中的“控制器”没有帮助。
-
我想在 productsController 中使用 current_user,索引操作。
-
您可以包含
Devise::Controllers::Helpers以从设计中获取current_user方法。但是,您应该提供更多详细信息(请编辑问题!)关于您想要实现的目标。
标签: ruby-on-rails ruby devise controller