gpt4 book ai didi

ruby-on-rails-3 - Rails 3 ActionMailer : :escape => false doesn't work, 也没有 raw()

转载 作者:行者123 更新时间:2023-12-04 06:26:14 25 4
gpt4 key购买 nike

我想将查询字符串参数附加到从 Rails 3 ActionMailer 模板生成的 URL 中,但 & 符号被实体转义。
<%= user_url(@user, :host => 'example.com', :foo => 'bar', :fubar => 'baz') %>
结果是一个带有 HTML 转义符的 URL(如预期的那样),比如
http://example.com/user/123?foo=bar&amp;fubar=baz
(注意它是 &amp; 不是 & )

我不想转义(因为它破坏了 URL)。我以前可以加:escape => false ,但这不影响现在的结果。我尝试将查询字符串参数放在类似 ?foo=bar&fubar=baz 的字符串中并使用 raw()喜欢
<%= user_url(@user, :host => 'example.com') + raw("foo=bar&fubar=baz") %>
但这也逃过了我的 & 符号。

有没有办法在 HTML 电子邮件 URL 中传递未转义的查询字符串参数?

提前致谢!

汤姆

最佳答案

在 Rails 门票中找到了这个。它被标记为“关闭”,但从 3.1.0.rc4 开始似乎仍然是一个问题。

https://github.com/rails/rails/issues/687

编辑:我能够通过将我的 url 助手包装在 raw() 中来解决这个问题。 .例如。

<%= raw( user_url(@user, :host => 'example.com', :foo => 'bar', :fubar => 'baz') ) %>

关于ruby-on-rails-3 - Rails 3 ActionMailer : :escape => false doesn't work, 也没有 raw(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6011368/

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