防止查询字符串中的转义&符号

时间:2015-06-24 15:18:15

标签: ruby-on-rails ruby ruby-on-rails-4.2

在我的邮件程序中,我正在生成一个指向我的注册表单的链接,以便我可以将其包含在用户的电子邮件中。我想使用用户的姓名和电子邮件地址预先填写注册表单。

我像这样创建一个实例变量@signup_query:

@signup_query = "?name=" << 
                CGI.escape(@name) << 
                "&" << 
                "email=" << 
                CGI.escape(@email)

但是当我在我的视图中调用link_to时,Rails会对查询字符串进行编码,这会添加&#39; amp;&#39;到了&#39;&#39;。因此,我的params哈希有关键&#39;电子邮件&#39;而不是密钥&#39;电子邮件&#39;所以在我的注册视图中,我有这样的丑陋:

= f.email_field :email, class: 'form-control', :value => params['amp;email']

这有效,但我知道必须有更好的方法。

1 个答案:

答案 0 :(得分:1)

试试这个

link_to "Sign up", my_signup_url(name: CGI.escape(@name), email: CGI.escape(@email))

在你的邮件中。

有关link_to的详细信息,请使用this