Rails 5,Route声明但未找到

时间:2016-04-23 14:20:35

标签: ruby-on-rails ruby

在我的路线配置中我有:

constraints subdomain: 'api' do
    scope module: 'api' do
        namespace :v1 do
            get '/me', to: 'users#me'
        end
    end
end

bin / rake routes返回

v1_me GET    /v1/me(.:format)     api/v1/users#me {:subdomain=>"api"}

当我使用邮递员尝试uri http://localhost:3000/v1/mehttp://localhost:3000/api/v1/mehttp://localhost:3000/me时,我发现了404错误。

 ActionController::RoutingError (No route matches [GET] "/v1/me"):

我的代码出了什么问题?

2 个答案:

答案 0 :(得分:1)

您为子域设置了约束。 因此,您必须通过类似api.localhost:3000的内容访问它 对于任何开发环境而言,这都不是开箱即用的。

您的路由确保仅为api子域定义指定的端点。

你可以试试这些:

http://api.lvh.me:3000

http://api.localhost:3000

您可能需要在hosts文件中添加条目,以将任何自定义域指向127.0.0.1

答案 1 :(得分:1)

您可以使用子域来访问localhost,例如http://api.lvh.me:3000/

因此,您的网址变为http://api.lvh.me:3000/api/v1/me