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

gri*_*ben 5 ruby routes ruby-on-rails rails-routing query-string

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

http://signup.testsite.local/confirm/da2fdbb49cf32c6848b0aba0f80fb78c/bob.villa@gmailcom
Run Code Online (Sandbox Code Playgroud)

所有我在我的params hash中得到的:email'bob'.我离开了.中间gmailcom外面因为这会导致比赛根本不起作用.

我的路由匹配如下:

match "confirm/:code/:email" => "confirm#index"
Run Code Online (Sandbox Code Playgroud)

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

fl0*_*00r 7

match "confirm/:code/:email" => "confirm#index", :email => /.*/
Run Code Online (Sandbox Code Playgroud)

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

get "confirm/:code/:email" => "confirm#index", :email => /.*/
Run Code Online (Sandbox Code Playgroud)

  • 我认为,这应该标记为正确答案。 (2认同)

mu *_*ort 5

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

:requirements => { :email => /.*/ }
Run Code Online (Sandbox Code Playgroud)

这招惹Rails不要试图巧妙地:email包含什么.

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