我在我的/应用/ models文件夹下面的模型:如何从模块中获取扩展模块的类的名称?
class MyModel < ActiveRecord::Base
require "dashboard"
extend Dashboard
# ...
end
然后我在我的/ lib文件夹名为dashboard.rb文件,该文件具有下面的代码:
module Dashboard
def self.my_function
# --> My question pertains to what I need to put here...
end
end
我想在MyModel::Dashboard.my_function
中写一行代码,这样它会返回我的模型的名称(在这种情况下为MyModel
)。
我确实发现了一些关于Get class name from a module和https://gist.github.com/1014971的信息,但好像当我的模型继承自ActiveRecord::Base
时,情况就不同了。后面的这些文章据说可以解释这一点,但我不知所措。
我尝试了一些置换与superclass.name
从Dashboard.my_function
内,但我只是得到Dashboard
或退回Module
,而不是MyModel
。
任何人谁可以阐明如何做到这一点将不胜感激。
做你的方法必须是类方法(..can你做myModel - > MyModel.first.my_function)的my_function调用)? – flynfish