【问题标题】:Rails, Routes and REST轨道、路线和 REST
【发布时间】:2017-03-28 18:44:48
【问题描述】:

我正在尝试学习 REST 制作了一个没有测试安全性的简单 API,但我遇到了这个错误:

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

当我检查路线时,我有这个。

Rails.application.routes.draw do
  resources :users do
    get 'search', on: :collection
  end



  # A singleton resource and so no paths requiring ids are generated
  # Also, don't want to support editing of the session
  resource :session, only: [:new, :create, :destroy]

  namespace :api, defaults: {format: :json} do
    resources :broadcast, only: [:create, :index] #Have I set this up wrong?
  end

  resources :broadcasts, except: [:edit, :update]

  get 'home', to: 'home#index', as: :home

  root 'home#index'

http://guides.rubyonrails.org/routing.html 结尾 我在 ruby​​ 中制作了一个小脚本来尝试访问它,但我一直得到一个 503,我正在使用 c9.io 进行开发,这会是问题吗?这是我为尝试列出一些广播而编写的 ruby​​ 代码。

require "net/http"
require "uri"

uri = URI.parse("http://assignment-cloned-pas43.c9users.io")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new("/api/broadcasts/")
response = http.request(request)

puts response.code
puts response.body

这是我的目录的布局 https://snag.gy/EVm3HN.jpg

【问题讨论】:

    标签: ruby-on-rails ruby rest routes


    【解决方案1】:

    使用rake routes 检查您的路线。将:broadcast 嵌套在:api 中意味着您可能在/api/broadcastapi_broadcast REST 助手的路由。 api 的命名空间意味着 URL 段不会有自己的路由,所以 /api 本身会失败。

    【讨论】:

      猜你喜欢
      • 2023-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-01
      相关资源
      最近更新 更多