记忆对象与使用委托之间有什么区别?

时间:2018-07-03 06:45:20

标签: ruby-on-rails ruby serialization delegates ruby-on-rails-5

我使用序列化器呈现每个Order对象(其中包括User信息)

在我的序列化器中,我有:

delegate :user, to: object
delegate :email, :phone_number, :verified?, to: :user

我发现我也可以使用记忆的助手,例如:

private

def user
  @user ||= object.user
end

这更好吗?和有什么区别?

1 个答案:

答案 0 :(得分:1)

使用委托更好,因为您需要更少的代码并且很容易理解。

如果要创建用户帮助程序,则在使用委派时需要在上下文中调用user.email, user.phone_number, user.verified?而不是调用email, phone_number, verified?