gpt4 book ai didi

ruby-on-rails - 如何在 Rails Engine 中获取 Devise 的 current_user 方法

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

我有一个使用 Devise gem 的 Rails 应用程序,我正在创建一个 Rails 引擎来安装在这个应用程序中。

mount Comments::Engine => '/talk', :as => 'comments'

在引擎中,我想获得 current_user来自主应用程序的实例。

{main_app}/initializers/comments.rb
Comments.user_class = "User"
Comments.current_user = "current_user" #current_user is Devise method(works fine in app)

{engine}/lib/comments.rb
require "comments/engine"

module Comments
mattr_accessor :user_class, :current_user

def self.user_class
@@user_class.constantize
end

def self.current_user
send(@@current_user)
end
end

当我调用 Comments.current_user ,我收到错误“错误的常量名称 current_user”。

我究竟做错了什么?

最佳答案

接缝我解决了问题。
我会在 Comments 模型中调用 current_user ,但它不起作用。
然而得到 current_user从 Controller ,工作正常。
但这不是优雅的方式(。

关于ruby-on-rails - 如何在 Rails Engine 中获取 Devise 的 current_user 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10668874/

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