我试图了解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 方法)?