2017-12-26 16 views
0

Ich versuche meine Hand bei Ruby Rails. Ich versuche, meine Datenbank im JSON-Format zu rendern. Aus irgendeinem Grund bekomme ich immer einen Routing-Fehler, wenn ich eine GET-Anfrage von Postman absende. Wenn ich "Rails Routes" tippe, bekomme ich richtige Routen. Bild davon ist unten definiert. Code für meine route.db ist unten angegeben und Screenshot des Fehlers. Ich wäre dankbar, wenn mir jemand dabei helfen könnte.Ruby Rails bekommen 404 Nicht gefunden auf HTTP GET Anfrage

-Code für routes.db

Rails.application.routes.draw do 

namespace 'api' do 
    namespace 'v1' do 
    resources :questions 
    end 
end 
end 

-Code für Controller

module Api 
module V1 
    class QuestionsController < ApplicationController 
    def index 
    questions = Question.order('created_at DESC'); 
    render json: {status: 'SUCCESS', message:' Loaded Questions', data: questions}, status: :ok 
    end 
    end 
end 
end 

Image of Error I am getting

+0

Ist 'QuestionsController' in api/v1/Ordner? –

+0

können Sie die tatsächliche Antwort JSON anstelle des Bildes einfügen. –

+0

Ich glaube, der 'FragenController' ist im falschen Verzeichnis. Es sollte im 'app/controllers/api/v1 /' Verzeichnis sein – Kushal

Antwort

0

ich Ihren Code verwendet wird, passieren keine Fehler. Mein Code ist

config/routes.rb

Rails.application.routes.draw do 
    # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 
    namespace 'api' do 
    namespace 'v1' do 
     resources :questions 
    end 
    end 
end 

app/controllers/api/v1/questions_controller.rb

module Api 
    module V1 
    class QuestionsController < ApplicationController 
     def index 
     #questions = Question.order('created_at DESC'); 
     render json: {status: 'SUCCESS', message:' Loaded Questions', data: 'data'}, status: :ok 
     end 
    end 
    end 
end 

Ich glaube, Sie Ihre Wege falsch kann.

+0

Das ist genau was ich habe. Aber mein Dateiname ist QuestionController. Ich habe gerade begonnen, Ruby zu lernen, könnte der Dateiname das Problem sein Der Speicherort der Datei ist der gleiche wie du gesagt hast. config/routes.rb und app/controllers/api/v1/QuestionsController.rb. Ich sende eine Anfrage an http: // localhost: 3000/api/v1/Fragen – paddy

+0

@paddy Rails ist ein Konvention-über-Konfiguration-Framework. Der Dateiname ist vorzugsweise Kleinbuchstaben. Hier ist ein paar tolle [docs] – Daniel

+0

Danke [http://guides.rubyonrails.org/layouts_and_rendering.html#rendering-by-default-convention-over-configuration-in-action]. Könntest du mir irgendwelche Korrekturen für meinen Code vorschlagen? https://www.youtube.com/watch?v=QojnRc7SS9o Dies ist der Typ, dem ich folgte. Versucht, mein eigenes Ding zu benutzen, das ich kodieren wollte. Ich habe es ohne PHPAdmin getan. Könnte es ein Problem mit meiner Datenbank sein? – paddy