I am currently trying to get a handle on RoR. I am passing in two strings into my controller. One is a random hex string and the other is an email. The project is for a simple email verification on a database. The problem I am having is when I enter something like below to test my page:
http://signup.testsite.local/confirm/da2fdbb49cf32c6848b0aba0f80fb78c/bob.villa@gmailcom
All I am getting in my params hash of :email is 'bob'. I left the . between gmail and com out because that would cause the match to not work at all.
My routing match is as follows:
match "confirm/:code/:email" => "confirm#index"
Which seems simple enough for what I need. I am having a hard time trying to figure out what the deal is and really how to even search for an answer. Any help or guidance would be greatly appreciated.
Your problem is that Rails is trying to interpret
.villa@gmailcomas a format specification (such as.htmlor.json). AFAIK, the standard work around (or at least the one I use) is to add this to your route:This tricks Rails into not trying to be clever about what
:emailcontains.I’m not surprised that you couldn’t find anything, googling for “@” or “.” doesn’t do anything useful.