/ 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
モデルの名前(この場合)が返されるように、コードを1行記述したいと思いMyModel
ます。
モジュールとhttps://gist.github.com/1014971からクラス名を取得する方法についていくつかの情報を見つけましたが、モデルがから継承する場合はActiveRecord::Base
異なるようです。これらの記事の後者はおそらくこれを説明していますが、私は途方に暮れています。
superclass.name
内からいくつかの順列を試しましDashboard.my_function
たが、取得Dashboard
またはModule
返されるだけで、ではありませんMyModel
。
これを行う方法に光を当てることができる人は誰でも大歓迎です。