Ich versuche, einen Rails MVC-Controller in einem anderen Namespace zu erweitern und die Unterklasse als eine REST-API zu fungieren, um JSON zu akzeptieren und zurückzugeben, anstatt mit Ansichten zu arbeiten.Rails API, wie man Handler setzt/übergibt
Rails.application.routes.draw do
resources :companies
namespace :api do
namespace :v1, defaults: { format: :json} do
resources :companies
end
end
Allerdings, wenn ich die/api/v1/Firmen Route aufrufen, erhalte ich eine Fehlermeldung „Fehlende Vorlage“ beschwert, dass es keine Aussicht. Im Detail sehe ich einige Handler, die mich glauben machen, dass es versucht, eine .ERB-Datei zu verarbeiten.
Missing template api/v1/companies/show, companies/show, application/show with
{:locale=>[:en], :formats=>[:json], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee]}.
Hier ist meine api/v1/companies_controller
class Api::V1::CompaniesController < CompaniesController
def show
super
end
end
Gibt es eine Möglichkeit, es zu machen, so dass Schienen nicht versuchen, eine Ansichtsvorlage zu finden und gibt nur die json?
u kann Ihre 'companies_controller.rb' Datei schreiben. – 7urkm3n
@ 7urkm3n Hinzugefügt oben. Das ist es für jetzt, nur versuchen, eine grundlegende GET zu machen auf/api/vi/companies/1 – tpow
hast du versucht, auf Controller 'Antwort_to: json' hinzufügen, fügen Sie es direkt unter' CompaniesController', auch 'respond_with (@object) 'in der Show-Methode. – 7urkm3n