2012-10-25 1 views
5

Chcę zaprosić ludzi, który przechodzi swój e-mail wewnątrz url tak:Jak umieścić adres e-mail w url on Rails

localhost:3000/invite_me/[email protected] 

Próbowałem ten match ale to nie działa.

match "/invite_me/:email" => "application#invite_me", 
    :constraints => { :email => '/[email protected]+\..*/' } 

Dostaję następujący błąd:

No route matches [GET] "/invite_me/[email protected]" 

trasy natarcia wyjściowa:

root/       application#index 
    /invite_me/:email(.:format) application#invite_me {:email=>"/[email protected]+\\..*/"} 

Odpowiedz

8

Twój ograniczenie musi być rzeczywiste wyrażenie regularne, a nie ciąg

match "/invite_me/:email" => "application#invite_me", 
    :constraints => { :email => '/[email protected]+\..*/' } 

Należy

match "/invite_me/:email" => "application#invite_me", 
    :constraints => { :email => /[email protected]+\..*/ }