【发布时间】:2017-03-14 14:14:38
【问题描述】:
假设我有以下命名空间,其中包含一个 Base 模块,该模块定义了一些可以重用的方法
module MyNameSpace
module Magic
extend ActiveSupport::Concern
class_methods do
def magic_field(field_name)
# Defines methods and attributes based on field name
end
end
end
end
两者有什么区别(如果有的话)
module MyNameSpace
module Foo
extend ActiveSupport::Concern
include Magic
included do
magic_field(:foo)
end
end
end
和
module MyNameSpace
module Foo
extend ActiveSupport::Concern
included do
include Magic
magic_field(:foo)
end
end
end
(问题是关于include Magic 在included 块之外或内部的区别)
【问题讨论】:
-
我不理解否决票,这是一个有效的问题。
标签: ruby-on-rails ruby ruby-on-rails-5 activesupport-concern