在我的路线配置中我有:
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/me,http://localhost:3000/api/v1/me或http://localhost:3000/me时,我发现了404错误。
ActionController::RoutingError (No route matches [GET] "/v1/me"):
我的代码出了什么问题?
答案 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