什么是 ActiveSupport::关注

使用 ActiveSupport::Concern 可以更 DRY 描述模型和控制器中的重复处理的功能

使用

  1. app/models/concerns/app/controllers/concerns/创建文件
    • 使文件名与模块相同
  2. included do end写处理
    • 除了作用域,还可以定义方法
    • 不要忘记extend ActiveSupport::Concern
  3. 包含在您要使用的模型文件中
  4. 使用添加到关注点的方法时,可以原样调用

    例子

    应用程序/模型/关注/m.rb
    module M
      extend ActiveSupport::Concern
    
      included do
        scope :disabled, -> { where(disabled: true) }
      end
    end
    
    class Host
      include M
    end
    

    在最后

    我对Module#concerning 感到困惑,所以我把它放在一起。
    我很快就会写一篇关于Module#concerning的文章。
    内部动静看不懂,下次去看看再编辑。

    参考


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308631734.html

相关文章: