首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使存在Rails路由也找不到它

即使存在Rails路由也找不到它
EN

Stack Overflow用户
提问于 2017-05-11 19:43:19
回答 2查看 952关注 0票数 0

使用CURL或POSTMAN客户端时,找不到我的以下API路由

代码语言:javascript
复制
Started POST "/api/users/register_handheld" for 181.74.100.34 at 2017-05-11 11:27:42 +0000
DEBUG: Chewy strategies stack: [2] <- atomic @ /home/deploy/boold/shared/bundle/ruby/2.2.0/gems/chewy-0.8.4/lib/chewy/railtie.rb:17

ActionController::RoutingError (No route matches [POST] "/api/users/register_handheld"):

但是当我运行rake routes时,这个网址就出现了。

代码语言:javascript
复制
api_users_register_handheld POST  /api/users/register_handheld(.:format)
                            crowd/api/v1/handheld_users#create {:format=>"json"}

如果我在rails控制台中点击,这个URL实际上是有效的:

代码语言:javascript
复制
app.post "/api/users/register_handheld"
Started POST "/api/users/register_handheld" for 127.0.0.1 at 2017-05-11 11:21:03 +0000
DEBUG: Chewy strategies stack: [3] <- atomic @ /home/deploy/boold/shared/bundle/ruby/2.2.0/gems/chewy-0.8.4/lib/chewy/railtie.rb:17
Processing by Crowd::Api::V1::HandheldUsersController#create as JSON

路由文件是

代码语言:javascript
复制
namespace :api, defaults: {format: 'json'} do
    scope module: :v1 do

  resources :dashboard, controller: "account/dashboard"

  post '/account/settings/create_notification' => 'account/settings#create_notification'

  post '/users/register' => 'users#create'
  post 'users/register_handheld' => 'handheld_users#create'
  put 'users/update_profile' => 'handheld_users#update_profile'
  post 'users/login' => 'handheld_users#login'

注意:此存储库是Rails引擎

EN

回答 2

Stack Overflow用户

发布于 2017-05-11 19:59:43

试试下面的代码:

代码语言:javascript
复制
/api/users/register_handheld.json

按照您指定的格式类型json

票数 0
EN

Stack Overflow用户

发布于 2020-12-14 22:25:23

也许这对某些人有帮助。

使用POSTMAN时,我意外地取消选中了报头中的Host密钥(每次发送任何请求时,POSTMAN都会自动生成它)。这是一场噩梦,直到我将我的请求与类似的请求进行比较,找到了丢失的密钥,才找到问题所在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43914485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档