ruby-on-rails - 使用 .deliver_later 发送电子邮件时出现序列化错误
问题描述
我有一个注册控制器操作,它发送一封确认注册的电子邮件。如果我使用 .deliver_now 它可以工作,但如果我尝试使用 .deliver_later 我会得到:
用户中的 ActiveJob::SerializationError::UsersController#process_signup
不支持的参数类型:时间
我的代码:
Emails
.with(template_data: processable_data.merge({:user => @u.safe_attributes }))
.signup_inactive
.deliver_later # not even passing a time to deliver the message at
template_data 是一个哈希值,其中包含一组可在电子邮件模板中使用的特定于用户的属性,我正在使用 Liquid,因为它们是由用户编辑的。它包括一些 DateTime 值(created_at/updated_at),但 ActiveJob 应该接受 Date/Time/DateTime 值 afaik?
难道我做错了什么?
解决方案
推荐阅读
- html - 即使在汉堡菜单上滚动时,我如何防止身体滚动?
- android - 如果已安装,如何创建打开我的应用程序的链接
- wso2 - 用户名无效的 WSO2 联合 IDP RefreshToken
- python-3.x - 如何计算以下示例中嵌套 for 循环的时间复杂度?
- azure-devops - Azure WebApp 部署任务无法识别变量
- isabelle - 理解 Isabelle 中的导数(`at .. inside` 的意思)
- javascript - 打开网页时如何上传关闭而不是打开的网页地图中的地图图例?
- getstream-io - 允许所有用户发布到特定提要
- java - 为什么 .class 文件没有执行?它是在我使用 java 编译器时创建的
- google-chrome - Chrome 错误“提供的应用程序服务器密钥不是 VAPID 密钥。”