2
我有一個使用Devise gem的Rails應用程序,並且我正在創建一個Rails引擎以在此應用程序中裝載。如何在Rails引擎中獲得Devise的current_user方法
mount Comments::Engine => '/talk', :as => 'comments'
在Engine中,我想從主應用程序中獲取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)
在{}引擎/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」。
我在做什麼錯?
current_user使用會話,所以它不應該在模型上工作。 – Zamith