6

我想邀请在这样的网址中传递电子邮件的人:

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"

耙路线输出:

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

1 回答 1

9

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

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

应该

match "/invite_me/:email" => "application#invite_me",
    :constraints => { :email => /.+@.+\..*/ }
于 2012-10-25T15:20:12.957 回答