Rails用句点(或句号)查询字符串。

我目前正在尝试处理RoR。 我将两个字符串传递给我的控制器。 一个是随机hex字符串,另一个是电子邮件。 该项目用于对数据库进行简单的电子邮件validation。 我遇到的问题是当我输入类似下面的内容来测试我的页面时:

http://signup.testsite.local/confirm/da2fdbb49cf32c6848b0aba0f80fb78c/bob.villa@gmailcom 

所有我都在我的params哈希:email'bob' 。 我离开了.gmailcom之间,因为这会导致匹配根本不起作用。

我的路由匹配如下:

 match "confirm/:code/:email" => "confirm#index" 

这看起来很简单,我需要的东西。 我很难弄清楚这笔交易是什么,甚至是如何找到答案。 任何帮助或指导将不胜感激。

你的问题是Rails试图将.villa@gmailcom解释为格式规范(例如.html.json )。 AFAIK,标准的工作(或至少我使用的)是将其添加到您的路线:

 :requirements => { :email => /.*/ } 

这招惹Rails不要试图巧妙地解决:email包含的内容。

我没有惊讶你找不到任何东西,谷歌搜索“@”或“。” 没有做任何有用的事情。

 match "confirm/:code/:email" => "confirm#index", :email => /.*/ 

我认为,最好在这里设置get方法

 get "confirm/:code/:email" => "confirm#index", :email => /.*/