gpt4 book ai didi

ruby-on-rails - 在 Rails 控制台中访问 c​​urrent_user

转载 作者:行者123 更新时间:2023-12-04 01:53:12 27 4
gpt4 key购买 nike

我需要访问 rails 控制台中的 current_user 属性,我安装了 pry gem,但我不知道如何使用它来登录用户

我也试过

user = User.find(1)
sign_in user

在我的代码中手动登录用户,但这会返回错误

Module::DelegationError: ActionController::Metal#session delegated to @_request.session, but @_request is nil: #<ResumesController:0x0055be48209b10 @_action_has_layout=true, @_routes=nil, @_request=nil, @_response=nil>

最佳答案

“当前用户”的整个概念在使用控制台时并不适用。

与运行 Rails 服务器时不同的是,控制台实际上并不响应 http 请求。它只是启动框架的关键 rails ,以便您可以使用它。

由于没有 HTTP 请求,因此没有基于 session 或 token 的身份验证。因此,没有用户实际与系统交互,这使得整个概念没有实际意义。

pry 动

pry gem 是默认 ruby​​ irb 的替代控制台。

它可用于在代码中设置“交互式断点”,以便您可以暂停服务器中的执行并检查变量。

假设您有:

class PagesController
# GET /
def home
binding.pry
end
end

当您使用浏览器请求 http://localhost:3000/ 时,页面将不会加载。

如果您切换回运行 rails 服务器的控制台,您会注意到有一个交互式提示。关闭提示后(使用 exit 或 ctrl + d),响应将发送到浏览器。

byebug gem 类似,但在标准 Rails 错误页面中创建了一个交互式终端。

关于ruby-on-rails - 在 Rails 控制台中访问 c​​urrent_user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52018115/

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