我使用序列化器呈现每个Order
对象(其中包括User
信息)
在我的序列化器中,我有:
delegate :user, to: object
delegate :email, :phone_number, :verified?, to: :user
我发现我也可以使用记忆的助手,例如:
private
def user
@user ||= object.user
end
这更好吗?和有什么区别?
答案 0 :(得分:1)
使用委托更好,因为您需要更少的代码并且很容易理解。
如果要创建用户帮助程序,则在使用委派时需要在上下文中调用user.email, user.phone_number, user.verified?
而不是调用email, phone_number, verified?
。