ActiveSupport::Concern 运行 方法 before/after 初始化
ActiveSupport::Concern running method before/after initialize
ActiveSupport::Concern
是否支持在对象构造之前或之后 运行 方法的方法。
例如实现类似
的目标
Module Benchmarker
extend ActiveSupport::Concern
before_initialize
@constructed_at = DateTime.now
end
end
(注意:ActiveRecord 或 ActiveController 不需要这个。只是 Rails 项目中的通用 Ruby class。)
注意:这适用于模型或仅适用于继承自 ActiveRecord
的模型 类。
Rails 不支持 before_initialize
回调。您可以改用 after_initialize 回调。但是,在关注中使用它时,您需要在 included do..end
块中提及它。例如,以下代码应该适用于您的用例:
Module Benchmarker
extend ActiveSupport::Concern
included do
after_initialize do |subject|
p "I'm in after_initialize"
end
end
end
您可以参考 以了解有关 included
挂钩如何工作的更多详细信息。
ActiveSupport::Concern
是否支持在对象构造之前或之后 运行 方法的方法。
例如实现类似
的目标Module Benchmarker
extend ActiveSupport::Concern
before_initialize
@constructed_at = DateTime.now
end
end
(注意:ActiveRecord 或 ActiveController 不需要这个。只是 Rails 项目中的通用 Ruby class。)
注意:这适用于模型或仅适用于继承自 ActiveRecord
的模型 类。
Rails 不支持 before_initialize
回调。您可以改用 after_initialize 回调。但是,在关注中使用它时,您需要在 included do..end
块中提及它。例如,以下代码应该适用于您的用例:
Module Benchmarker
extend ActiveSupport::Concern
included do
after_initialize do |subject|
p "I'm in after_initialize"
end
end
end
您可以参考 included
挂钩如何工作的更多详细信息。