ruby-on-rails - examples - shallow rails routes




Rastrea la cadena de consulta con un punto(o punto). (2)

Actualmente estoy tratando de manejar RoR. Estoy pasando dos cadenas en mi controlador. Uno es una cadena hexadecimal al azar y el otro es un correo electrónico. El proyecto es para una simple verificación de correo electrónico en una base de datos. El problema que tengo es cuando ingreso algo como a continuación para probar mi página:

http://signup.testsite.local/confirm/da2fdbb49cf32c6848b0aba0f80fb78c/bob.[email protected]

Todo lo que obtengo en mi hash de parámetros :email es 'bob' . Salí de la . entre gmail y com out porque eso haría que la coincidencia no funcionara en absoluto.

Mi coincidencia de enrutamiento es la siguiente:

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

Lo cual parece lo suficientemente simple para lo que necesito. Estoy teniendo dificultades para tratar de averiguar cuál es el problema y realmente cómo buscar una respuesta. Cualquier ayuda u orientación sería muy apreciada.


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

También sería mejor establecer el método get aquí, creo

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

Su problema es que Rails está tratando de interpretar [email protected] como una especificación de formato (como .html o .json ). AFAIK, la solución estándar (o al menos la que yo uso) es agregar esto a tu ruta:

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

Esto engaña a Rails para que no intente ser inteligente sobre qué :email contiene.

No me sorprende que no puedas encontrar nada, buscando en Google "@" o "." no hace nada útil.





rails-routing