如何在ActiveSupport :: Concern包含块中获取我的模型名称?

我正在使用ActiveSupport::Concern来扩展ActiveRecord ,以便ActiveSupport::Concern我的模块。 但为了做到这一点,我需要included块内部的ActiveRecord的模块名称。

例如,我有一个表,我保留了可访问的属性,我希望每个模块都能获得自己的可访问属性

我的module ActiveRecordExtension看起来像:

 module ActiveRecordExtension extend ActiveSupport::Concern included do AccessibleAttributes.where(name: "#{self.name.pluralize}").each do |e| attr_accessible e.attribute.to_sym end end end # include the extension ActiveRecord::Base.send(:include, ActiveRecordExtension) 

A.如何在不获取nil:NilClass情况下(动态)获取我的模型名称nil:NilClass

B.我如何检查included do哪些内容?