【发布时间】:2012-05-19 21:06:33
【问题描述】:
我有一个使用 Devise gem 的 Rails 应用程序,我正在创建一个 Rails 引擎来安装在这个应用程序中。
mount Comments::Engine => '/talk', :as => 'comments'
在引擎中,我想从主应用程序中获取current_user 实例。
在 {main_app}/initializers/cmets.rb
Comments.user_class = "User"
Comments.current_user = "current_user" #current_user is Devise method(works fine in app)
在 {engine}/lib/cmets.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”。
我做错了什么?
【问题讨论】:
标签: ruby-on-rails devise rails-engines