Benutzer mit Rails API und JSON erstellen?

7

Also teste ich eine sehr einfache API in Rails aus, um zu sehen, ob ich lokal davon mit dem Chrome-Plugin Postman (REST-Client-Erweiterung) einen Benutzer erstellen kann.

In meiner Rails-App habe ich einen Ordner / Namespace für meine API eingerichtet. Wenn ich versuche, meinen Benutzer zu erstellen, erhalte ich den folgenden Fehler: Fehlende Vorlage api / v1 / users / create, Anwendung / erstellen mit {: locale = & gt; [: en],: format = & gt; [: json],: handler = & gt; [: erb,: builder,: roh, : rubin,: jbuilder,: kaffee]}. Gesucht in: * "PFAD / app / Ansichten"

Ich verwende Rails 4.0.1 und Ruby 2.0

Ich poste unten einen Screenshot von dem, was ich poste:

%Vor%

Also sollte ich basierend auf meinem user_params einen neuen Benutzer anlegen können, korrigieren? Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen und ich werde mein Bestes tun, um so schnell wie möglich zu reagieren! Danke!

    
eightonrose 02.12.2013, 04:33
quelle

2 Antworten

22

Sie können Benutzer mithilfe der API erstellen.

1) Zuerst müssen Sie die richtigen Ressourcen in Ihre routes.rb einfügen:

%Vor%

2) Sie müssen einen RESTfull-style-Controller zum Verarbeiten von Anfragen erstellen. Hier wird beschrieben, wie Ihre Aktion 'create' implementiert werden kann.

%Vor%

Beispiel für 'create' mit respond_to:

%Vor%

Siehe Dokumente zu respond_with und antworten Sie auf , wenn Sie etwas spezielles zum Antworten brauchen.

Es kann auch hilfreich sein, Railscasts über das API-Bauen zu lesen: # 350 und # 352

P.S. folder / namespace / v1 / users_controller muss mit dem Klassennamen in Ihrem Modul Api

übereinstimmen

PS2 Sie können meine App beobachten, wo Sie wahrscheinlich etwas hilfreich finden können (genauso wie Ihre App - einfache API zum Erstellen von Aufzeichnungen) - myApp

Beispiel für users_controller (controllers / api / v1 / users_controller.rb):

%Vor%     
Mihail Davydenkov 02.12.2013, 07:51
quelle
0

redirect dose nicht zurückgeben, so dass Ihre create -Methode weiterhin nach Vorlage zum Rendern sucht und dann findet, dass es keine passende Vorlage gibt.

Um das Problem zu beheben, müssen Sie explizit redirect

zurückgeben %Vor%

Sie müssen auch auf die Standard-URL von @user achten. Es ist besser, in diesem Fall explizit einen benannten Pfad zuzuweisen, zB redirect_to(user_path(@user))

    
Billy Chan 02.12.2013 05:43
quelle