什么是 ActiveSupport::关注
使用 ActiveSupport::Concern 可以更 DRY 描述模型和控制器中的重复处理的功能
使用
-
在
app/models/concerns/或app/controllers/concerns/创建文件- 使文件名与模块相同
-
在
included do end写处理- 除了作用域,还可以定义方法
-
不要忘记
extend ActiveSupport::Concern
- 包含在您要使用的模型文件中
- 使用添加到关注点的方法时,可以原样调用
例子
应用程序/模型/关注/m.rbmodule M extend ActiveSupport::Concern included do scope :disabled, -> { where(disabled: true) } end endclass Host include M end在最后
我对
Module#concerning感到困惑,所以我把它放在一起。
我很快就会写一篇关于Module#concerning的文章。
内部动静看不懂,下次去看看再编辑。参考
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308631734.html