我的 /app/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
我用from inside 尝试了一些排列Dashboard.my_function
,但我只是得到Dashboard
或Module
返回,而不是MyModel
.
任何能够阐明如何做到这一点的人将不胜感激。