gpt4 book ai didi

ruby-on-rails - 在 rails Controller 中访问设备 current_user 变量

转载 作者:行者123 更新时间:2023-12-04 07:36:55 25 4
gpt4 key购买 nike

我有 Rails (4.0) 运行 Devise gem (3.1.0) 使用模型 User .我有一个名为 CollectionsController 的 Controller 我想使用 Devise 的访问器方法获取当前登录的用户对象 current_user在这个 Controller 中。

之后它返回 undefined local variable or method 'current_user' for CollectionsController:Class .最有趣的是,当我尝试在另一个 Controller 中执行相同操作时,例如 PagesController - 一切正常!
更新:共享我的 Controller 的“代码”:)

class CollectionsController < ActionController::Base
def index
@user = current_user
end
end

来源 current_user方法是由 Devise 定义的,而不是我。所以我不认为这是问题所在。

最佳答案

current_user是一种方便的方法,由 Devise 提供给 ApplicationController .您的 Controller 应该继承它:

class CollectionsController < ApplicationController

看来你可能会混淆 ActiveRecord::Base (按模型子类)与 ActionController (由 Controller 子类化)。根据 Rails docs :

By default, only the ApplicationController in a Rails application inherits from ActionController::Base. All other controllers in turn inherit from ApplicationController.

关于ruby-on-rails - 在 rails Controller 中访问设备 current_user 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19147729/

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