我不知道mailto是先运行还是先阻塞
mail(:to => @recipients, :subject => @subject, :cc => @cc, :from => @from, :reply_to => @reply_to, :date => @date, :bcc => @bcc) do |format|
format.text unless options[:no_text]
format.html
end
由于块是给定给方法的对象,我想说你的问题的答案是mail
在块之前被调用,在被执行的意义上。
如果你看一下mail
方法的源代码,你可以看到它有一个block
参数。这是实际的块对象(我认为类型Proc
),当您输入do...end
时,它正在为您创建并传递给您。在第648行,这个块对象被传递给collect_responses_and_parts_order
方法。
所以在"首先是什么"的意义上,我不得不说它是块对象,因为它被传递给方法,需要在方法被调用之前创建。