2016-11-15 48 views
1

我努力学习REST做了一个简单的API没有安全测试,但我有此错误:轨,路线和REST

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

回答

3

布局确认你的路由与rake routes。在:api之内嵌套:broadcast意味着您可能有api_broadcast REST帮助程序的路径/api/broadcast。命名空间在api意味着URL段不会有自己的路由,所以/api本身就会预测失败。