私は CodeSchool の RubyBits を使って作業していますが、理解できない演習に行き着きました。含まれているメソッドを使用するには、LibraryUtils の self.included メソッドを使用してください。"
module LibraryLoader
extend ActiveSupport::Concern
module ClassMethods
def load_game_list
end
end
end
module LibraryUtils
def self.included(base)
base.load_game_list
end
end
class AtariLibrary
include LibraryLoader
include LibraryUtils
end
ソリューション(以下)に基づいてActiveSupport::Concern
、依存関係のロードを処理していないようです-LibraryUtils内にLibraryLoaderを含める必要があります。
何が行われているのか、なぜ両方のモジュールでActiveSupport::Concern
それを呼び出す必要があるのか を理解するのを手伝ってもらえますか?extend
module LibraryLoader
extend ActiveSupport::Concern
module ClassMethods
def load_game_list
end
end
end
module LibraryUtils
extend ActiveSupport::Concern
include LibraryLoader
#result of refactoring the self.included method
included do
load_game_list
end
end
class AtariLibrary
include LibraryUtils
end
ありがとう!