给定一个URL路径,我可以获取用于完成请求的url参数吗?

时间:2018-04-03 20:41:54

标签: ruby-on-rails ruby-on-rails-4 actiondispatch

例如在routes.rb中我有类似

的东西
  namespace :api do
    namespace :v1 do
      post 'login/:email' => 'authentication#login', email: /[^\/]+/
    end
  end

给定字符串"/api/v1/login/lisa@example.com"我想知道此路径包含一个名为email的参数,其值为lisa@example.com

1 个答案:

答案 0 :(得分:0)

您可以使用以下正则表达式

/[\w+\-.]+@[a-z\d\-.]+\.[a-z]+/

这会给你结果

"/api/v1/login/lisa@example.com".scan(/[\w+\-.]+@[a-z\d\-.]+\.[a-z]+/).first

#=> "lisa@example.com"