今天在学习 codeshool 中的 rails bits 时,被一个细节绕晕了。
百思不得其解,请大家点拨一下。
module A
def self.included(base)
base.extend(B)
end
def add_game(game)
end
def remove_game(game)
end
module B
def search_by_game_name(name)
end
end
end
module A
extend ActiveSupport::Concern
def add_game(game)
end
def remove_game(game)
end
module B
def search_by_game_name(name)
end
end
end
重构后的代码中,module A 中没有 include B。假如某个 class 使用 module A,Rails 根本不知道顺带要加载 module B 啊。
Rails 是怎么找到 module B 的。
class c
include A
end