Ruby on rails 模型创建后在Rails中的何处调用mailer?

Ruby on rails 模型创建后在Rails中的何处调用mailer?,ruby-on-rails,email,controller,actionmailer,Ruby On Rails,Email,Controller,Actionmailer,因此,在创建新模型的表单提交中,我想向用户发送电子邮件,告知新约会已提交,并添加指向新约会的链接。我应该把给用户发电子邮件的逻辑放在哪里?现在我有了新的预约方法,但我不确定那是不是合适的地方?另外,如何生成正确的url?这就是我现在拥有的 def new url = "www.example.com/appointments/#{Appointment.last.id + 1}" MyMailer.send_email(current_user, url).deliver end 您应

因此,在创建新模型的表单提交中,我想向用户发送电子邮件,告知新约会已提交,并添加指向新约会的链接。我应该把给用户发电子邮件的逻辑放在哪里?现在我有了新的预约方法,但我不确定那是不是合适的地方?另外,如何生成正确的url?这就是我现在拥有的

def new
  url = "www.example.com/appointments/#{Appointment.last.id + 1}"
  MyMailer.send_email(current_user, url).deliver
end

您应该从中的“约会”控制器中的“创建”操作调用myMailer方法

if @appointment.save

街区。我想,您可以通过调用current_user.email生成正确的url

你读了吗1第2.1.4节呼叫邮件1清楚地说明了如何做到这一点哦,哇,我是个白痴。是的,我读了部分,但不是全部。感谢您指出控制器有权访问正在创建的对象?另外,对于url,我想给他们新约会的url。例如,如果他们是第5次约会,我希望他们获得/appoints/5。我在我的原始帖子中所做的只是获取所有约会的最后一个id,然后将其递增。。。。Idk是否安全,因为该url技术上还不存在