我想将查询字符串参数附加到从Rails 3 ActionMailer模板生成的URL中,但是&符号正在实体转义。
<%= user_url(@user, :host => 'example.com', :foo => 'bar', :fubar => 'baz') %>
会生成带有HTML转义符号的网址(如预期的那样),例如
http://example.com/user/123?foo=bar&fubar=baz
(请注意 &
而非 &
)
我不希望转义(因为它会破坏URL)。我曾经能够添加:escape => false
,但这不会影响现在的结果。我尝试将查询字符串参数放在?foo=bar&fubar=baz
之类的字符串中,并使用raw()
之类的
<%= user_url(@user, :host => 'example.com') + raw("foo=bar&fubar=baz") %>
但这也逃过了我的&号。
有没有办法在HTML电子邮件网址中传递未转义的查询字符串参数?
提前致谢!
汤姆
答案 0 :(得分:3)
在Rails门票中找到了这个。它被标记为“已关闭”,但从3.1.0.rc4开始仍然是一个问题。
https://github.com/rails/rails/issues/687
编辑:我能够通过在raw()
中包装我的网址助手来解决这个问题。 E.g。
<%= raw( user_url(@user, :host => 'example.com', :foo => 'bar', :fubar => 'baz') ) %>