我在一个 gem 中看到了这种写法,但不理解它的意图。我知道 tap 单独的作用,但为什么有人会调用 super.tap {} 而不是在 super 调用后正常地继续代码。
def my_method
super.tap do |u|
if @user && @user.new_record?
@omniauth = u.session[:session]
u.session[:omniauth] = nil unless @user.new_record?
end
end
end
有人能给我讲解一下吗?