如何在Rails上的URL中放置电子邮件地址

时间:2012-10-25 15:15:26

标签: ruby-on-rails ruby email url

我想邀请那些在他们的网址中传递电子邮件的人:

localhost:3000/invite_me/email@gmail.com

我试过这个match,但它没有用。

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

我收到以下错误:

No route matches [GET] "/invite_me/waldyr.ar@gmail.com"

rake路线输出:

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

1 个答案:

答案 0 :(得分:9)

您的约束必须是实际的正则表达式而不是字符串

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

应该是

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