2012-10-25 30 views
5

我想邀請誰通過他們的電子郵件的URL裏面像這樣的人:如何把一個電子郵件地址URL on Rails的

localhost:3000/invite_me/[email protected] 

我想這match,但它無法正常工作。

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

,我發現了以下錯誤:

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

耙路輸出:

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

回答

8

你的約束必須是一個實際的正則表達式,而不是一個字符串

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

應該是

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