ruby-on-rails - 缺少方法上的装饰对象:是还是不是?
问题描述
我没有真正使用装饰器模式的原因之一是每次我需要访问装饰器方法时都必须调用 .decorate,这很常见。
在缺少方法的情况下进行装饰是否是一个好习惯,例如:
class User < ApplicationRecord
def foo
"foo!"
end
def method_missing(m, *args, &block)
if UserDecorator.instance_methods.include? m
UserDecorator.new( self ).decorate.send(m, args)
end
end
end
class UserDecorator < WhateverDecorator
def bar
"bar!"
end
end
如果这不是一个好的做法,你能解释一下为什么吗?
解决方案
推荐阅读
- kubernetes - Azure 流量管理器和 Kubernetes 服务显示已降级
- visio - 更改图形比例的分割数
- javascript - 按名称检索输入值,该名称位于具有 id 的 div 中
- javascript - 在 React 中使用多个标准过滤复杂结果
- javascript - 我可以两次调用下一个回调吗?
- flutter - 如何在无状态小部件中将实例字段设置为最终字段?
- phpunit - 测试 Laravel 项目时的回声警告和注意事项
- django-views - Django UnitTest 在 test_views.py 中使用 self.user.has_perm 检查权限(LoginRequiredMixin,PermissionRequiredMixin,ListView)
- azure-data-factory - 如何在表达式中引用链接服务
- google-apps-script - SetFormular 错误:在范围内找不到 setformula