{:subdomain => "api"} do -6ren">
gpt4 book ai didi

ruby-on-rails - Rails - 存在路由时 API 命名空间的路由错误

转载 作者:行者123 更新时间:2023-12-04 17:02:29 25 4
gpt4 key购买 nike

我的 API 中有一条通往“spaces”资源的路线:

namespace :api, :path => "", :constraints => {:subdomain => "api"} do
namespace :v1 do
resources :spaces
end
end

这对应于在/controllers/api/v1/SpacesController.rb 找到的 Controller
class API::V1::SpacesController < ApplicationController
...
end

每当我尝试访问 api.[BASE URL]/v1/spaces 上的页面时,我都会得到
No route matches [GET] "/v1/spaces"

任何想法为什么?
注意:在命名空间中,我有合适的 API 变形器来代替 Api 使用。

最佳答案

您应该使用子域访问路由。例如,如果您通常在本地主机端口 3000 中打开站点,则访问 http://localhost:3000/v1/spaces行不通。为了使这项工作在您的本地环境中工作,您应该执行以下操作

为您的本地主机设置一个假子域。在/etc/hosts 中设置以下内容,

127.0.0.1 api.test.com

然后按如下方式访问站点http://api.test.com:3000/v1/spaces

希望这有效。

关于ruby-on-rails - Rails - 存在路由时 API 命名空间的路由错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38299466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com