Ruby on rails Rails—在数据库中存储ActionMail.new对象
我正在创建一个邮件对象,如下所示:Ruby on rails Rails—在数据库中存储ActionMail.new对象,ruby-on-rails,actionmailer,Ruby On Rails,Actionmailer,我正在创建一个邮件对象,如下所示: textpart_to_inject= params[:text] htmlpart_to_inject= params[:html] message_all = Mail.new do to #{params[:to]} from #{params[:from]} subject #{params[:subject]} text_part do body textpart_to_inject en
textpart_to_inject= params[:text]
htmlpart_to_inject= params[:html]
message_all = Mail.new do
to #{params[:to]}
from #{params[:from]}
subject #{params[:subject]}
text_part do
body textpart_to_inject
end
html_part do
content_type 'text/html; charset=UTF-8'
body htmlpart_to_inject
end
end
然后我想将其插入数据库,如下所示:
@incoming_mail = IncomingMail.create(:message_all => Base64.encode64(message_all), :message_plain => Base64.encode64(params[:text]))
但这是一个错误:
TypeError (can't convert Mail::Message into String):
app/controllers/incoming_mails_controller.rb:56:in `create'
我的数据库列如下:
留言
消息\u纯文本
想法?谢谢您看过Rails的
序列化方法了吗?听起来这正是你想要做的。请参阅文档(另请查看标题“在文本列中保存数组、散列和其他不可映射对象”下顶部约1/6的部分)。它甚至可能像添加
serialize :message_all
serialize :message_plain
你的收入邮件模型,但不要相信我的话
顺便说一下,出现错误是因为Base64.encode64()
只对字符串有效
希望这有帮助 那么,您正试图将整个邮件对象以字节的形式存储到数据库中?如果可能的话,那将是非常棒的!!!有办法吗?我不知道字节部分,但我确实想要邮件对象