Scala 提升实例化异常

Scala 提升实例化异常,scala,lift,Scala,Lift,这是我的密码- def sendAcceptInvitationMail(invitation: Invitation) { val signupLink = Props.get("base.url").openOr("http://localhost:8080") + "/accounts/signup?code="+invitation.code.is S.eval(<lift:embed what="/templates-hidden/emails/accept_invita

这是我的密码-

def sendAcceptInvitationMail(invitation: Invitation) {
  val signupLink = Props.get("base.url").openOr("http://localhost:8080") + "/accounts/signup?code="+invitation.code.is
  S.eval(<lift:embed what="/templates-hidden/emails/accept_invitation">
            <lift:bind-at name="name">{invitation.name.is}</lift:bind-at>
            <lift:bind-at name="link"><a href={signupLink}>{signupLink}</a></lift:bind-at>
        </lift:embed>) match {
    case Full(msg) =>
      MailHelper.sendMail((invitation.email.is, invitation.name.is), S.?("subject.invitation.sent"), msg, MimeType.MIME_HTML)
      debug("Accept invitation mail sent for: "+invitation.email.is)

    case _ => warn("Invitation Accept Email not sent to: "+invitation.email.is+". Problem preparing message")
  }
}

我调试并发现,当使用
S.('subject.invitation.sent')
从资源读取属性时,抛出此异常。但我在许多其他代码段中使用相同的函数调用,没有任何异常。需要帮助。

S
包中的大多数项目都要求有效的会话对其可用,这通常要求访问与Http请求在同一线程中进行。
MailHelper
是你写的东西吗?我知道lift的
Mailer.sendMail
是通过一个参与者异步发生的,所以这可能与此有关

如果您还没有尝试,您可以尝试的一件事是更早地检索翻译。比如:

case Full(msg) =>
      val i18nConfirmation = S.?("subject.invitation.sent")
      MailHelper.sendMail((invitation.email.is, invitation.name.is), i18nConfirmation, msg, MimeType.MIME_HTML)
      debug("Accept invitation mail sent for: "+invitation.email.is)

谢谢是的,就是这样。
case Full(msg) =>
      val i18nConfirmation = S.?("subject.invitation.sent")
      MailHelper.sendMail((invitation.email.is, invitation.name.is), i18nConfirmation, msg, MimeType.MIME_HTML)
      debug("Accept invitation mail sent for: "+invitation.email.is)