我试图了解include在多个 Mixin 中使用时的语句行为。也就是说,我有这些陈述:
class Article < ActiveRecord::Base
include DoubleIncludedModule
include AModule
# ...
end
module AModule
include DoubleIncludedModule
# ...
end
module DoubleIncludedModule
# ...
end
DoubleIncludedModule课程中会包含多少次Article?也就是说,由于DoubleIncludedModule(首先在Article类中,然后在类本身中AModule包含Article)的“后续”包含,将是 Ruby 自动处理的“双重包含”问题,还是会DoubleIncludedModule(错误地)包含两次?
当然,我只想包含该DoubleIncludedModule模块一次。我怎样才能以正确的方式做到这一点(也许通过使用一些 Ruby on Rails 方法)?