Ruby中delegate的一些用法

时间:2020-06-26 18:38:34   收藏:0   阅读:89
classs Admin < activeRecord::Base
 
  delegate :firstname, :to => :user
  # 等价于
  # firstname => user.firstname

  # delegate :firstname, :to => :user, :prefix => true
  # 等价于 
  # user_firstname => user.firstname

  # delegate :firstname, :to => :user, :allow_nil => true, :prefix => true
  # 等价于 
  #  user_firstname => user.try(:firstname)


  # delegate :name, :to => "user.try(:editor)", :prefix => :editor
  # 等价于 
  # editor_name => user.try(:editor).name  #注意空异常

  # delegate :name, :to => "user.try(:editor)", :prefix => :editor, :allow_nil => true
  # 等价于 
  # editor_name => user.try(:editor).try(:name) 

end

  

原文:https://www.cnblogs.com/hello-ruby/p/13195643.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!