在我的邮件程序中,我正在生成一个指向我的注册表单的链接,以便我可以将其包含在用户的电子邮件中。我想使用用户的姓名和电子邮件地址预先填写注册表单。
我像这样创建一个实例变量@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']
这有效,但我知道必须有更好的方法。
答案 0 :(得分:1)
试试这个
link_to "Sign up", my_signup_url(name: CGI.escape(@name), email: CGI.escape(@email))
在你的邮件中。
有关link_to的详细信息,请使用this