2016-11-15 13 views
1

を残りの部分は、テストのためのセキュリティなしでシンプルな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を使用していますか?ここで私はいくつかの放送をリストしようとしたために作ったルビーコードです。ここで

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であなたの路線を確認しています。 :broadcast:apiの範囲内にネストすると、おそらくapi_broadcast RESTヘルパーのルートが/api/broadcastにあることを意味します。のネームスペースは、URLセグメントが独自のルートを持たないことを意味します。したがって、/api自体が予想通りに失敗します。

関連する問題