gpt4 book ai didi

ruby-on-rails - Rails actionmailer 使用 link_to 转义 HTML

转载 作者:太空宇宙 更新时间:2023-11-03 16:25:45 24 4
gpt4 key购买 nike

我正在使用 Action Mailer 并尝试包含一个链接。由于某种原因,HTML 被转义,而不是显示链接,它显示:

<a href="http://localhost:3000/employer?task_review=true">here</a>

相反,它应该只显示链接。这是 ruby :

<%= raw(link_to("here", employer_url(:task_review => 'true'))) %> 

我也试过:

<%= link_to("here", employer_url(:task_review => 'true')).html_safe %>

<%= link_to("here", employer_url(:task_review => 'true')) %>  

它们似乎都不起作用。我查看了类似问题的其他 SO 答案,他们都说使用 rawhtml_safe,但都不起作用。有人有什么想法吗?

最佳答案

从您的问题描述来看,问题似乎不在模板渲染中,而在内容类型中。

电子邮件客户端接受不同的内容类型,并相应地呈现 - 如果内容类型为 text/html,则解析并呈现 HTML , 或者如果内容类型为 text/plain 则按原样显示文本.

许多邮寄者发送的邮件包含多个版本的邮件(一个 HTML 和一个 TEXT),以支持没有 HTML 功能的旧邮件客户端。

要检查您的程序发送的邮件是否具有 HTML 版本,请打开其原始邮件(在 Gmail 中将位于 More -> show original 下)并查找如下所示的文本:

------=_NextPart_001_0048_01CE7CA4.8389CCD0
Content-Type: text/html;
charset="windows-1255"

这意味着您发送的邮件有一个 HTML 版本。

但是,如果您所看到的是这样的:

------=_NextPart_001_0048_01CE7CA4.8389CCD0
Content-Type: text/plain;
charset="windows-1255"

你的问题就在那里。 (如果两个选项都出现——您的邮件客户端可能不支持 HTML)

如果您发现您没有发送 HTML 版本,请确保您的模板文件具有扩展名 .html.erb相反 .text.erb (后者向邮件发送者表明您需要纯文本邮件格式)。

关于ruby-on-rails - Rails actionmailer 使用 link_to 转义 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24685444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com