Ich versuche, eine einfache Aktion in einem Rails-Controller zu bauen, die als eine API handeln wird.
In diesem Fall versuche ich, eine Erstellung auszuführen, wenn ein Client eine json kodierte Zeichenfolge sendet.
Im Moment sieht es bei mir so aus:
def create
@user = User.new.from_json(params[:user])
respond_to do |format|
if @user.save
format.json { render json: @user, status: :created, location: @user }
else
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
Ich mag nicht, wie ich auf den to_json Aufruf durch, um die Erstellung zu tun abhängig sind. Im Moment reagiere ich nur auf eine Json-Payload, aber wenn wir beschließen, es zu xml erweitern dieser Code bricht.
Gibt es eine sauberere Methode, um einen neuen Benutzer aus Daten im Json-Format zu erstellen?
Ich habe versucht, nur in der params[:user] (die die Json-Zeichenfolge ist) zu User.new übergeben, aber bekam Fehler.
Als Referenz sieht mein json wie folgt aus:
{"email":"email.address@gmail.com","password":"password"}