我有一个在Rails 4.1.1应用程序中使用的模块
module A
extend ActiveSupport::Concern
included do
#Some code
end
end
包含在类
中class Some
include A
end
这适用于cache_classes=true
中的application.rb
。现在,如果我关闭类的缓存,我会在启动服务器时获得Cannot define multiple 'included' blocks for a Concern (ActiveSupport::Concern::MultipleIncludedBlocks)
异常upson。
由于重新加载类是由Rails完成的,应该如何处理这样的问题?
答案 0 :(得分:47)
对于任何打同一面墙的人来说,解决方法是严格遵守Rails自动加载规则。那是
答案 1 :(得分:1)
您也可能有两个名字相同的问题。
就我而言,我在运行rails swagger:docs SD_LOG_LEVEL=1
时遇到此错误。
$ rails swagger:docs SD_LOG_LEVEL=1
Cannot define multiple 'included' blocks for a Concern
1.0: 19 processed / 49 skipped
因为我有两个同名的swagger文件。
module SwaggerDocs::TrackerPhases
extend ActiveSupport::Concern
included do
end
end
module SwaggerDocs::TrackerPhases
extend ActiveSupport::Concern
included do
end
end
我将第二个文件重命名为:
module SwaggerDocs::ClientTrackerPhases
extend ActiveSupport::Concern
included do
end
end