我收到此错误,无法弄清楚原因。当我在浏览器中打开但是用户时,我的所有其他路由都在本地和远程工作。我对ruby和Xcode来说是全新的
感谢您的帮助
答案 0 :(得分:1)
在我看来,您在定义用户路线时还需要指定:index
操作:
ParkApp::Application.routes.draw do
namespace :api do
namespace :v1 do
resources :users, only: [:index, :create, :update] do
collection do
match '/me', to: 'users#show', via: :get
end
end
## Needed to allow cross origin request from webapp
match '/users/:id', to: 'users#update', via: :post
resources :sweetches, only: [:create, :update, :index]
match '/sweetches/:id', to: 'sweetches#update', via: :post
# Get the messages to display on the views
match '/message_views', to: 'message_views#index', as: :message_views, via: :get
resources :posts
end
end
match '/admin', to: 'admin#index', via: :get
match '/admin', to: 'admin#create', via: :post
match '/admin/:id', to: 'admin#destroy', as: :delete_fake, via: :delete
end
这应该使您尝试遵循的路线有效。如果您查看问题中的最后一个片段,您会看到api/v1/users
GET路线未定义,我对路线的更改将解决此问题。
答案 1 :(得分:0)
您收到错误,因为错误显示您的应用程序没有与“/ users”匹配的路由。
在帖子中查看api_v1_users_path POST /api/v1/users(.:format) api/v1/users#create
。这意味着对路径/api/v1/users
的POST请求将调用API :: V1 :: UsersController的create方法。因此,请求发送到/api/v1/users
,但不发送给“/ users”。
我从未使用过Objective-C,但我想您需要将NSString stringWithFormat:@"/users"
替换为NSString stringWithFormat:@"/api/v1/users"
。
请注意,您需要发送POST请求。在浏览器中打开上述路径会向您的应用程序发送GET请求,从而导致404找不到错误。