respond_with nicht funktioniert in ruby on rails. Warum?

Habe ich eine post-Methode namens join, der sollte Folgendes tun:
1) neues Objekt erstellen
2) reagieren mit einem json-Objekt

Hier ist mein code:

class GameController < ApplicationController

  respond_to :json

  def join
    @p = Player.new(:name => params[:name])
    @p.save!
    respond_with({:uuid => @p.uuid})
  end
end

Für einige Grund, die respond_with-Aufruf schlägt immer fehl mit dieser Fehlermeldung:

undefined method `model_name' for NilClass:Class

Wenn ich die respond_with-Aufruf etwas einfacher, ich bekomme immer noch Fehler, z.B.:

respond_with "hello"

Erträge dieser Fehler:

undefined method `hello_url' for #<GameController:0x1035a6730>

Was mache ich falsch?? Ich will nur senden Sie ein JSON-Objekt zurück!

PS, meine Routen-Datei sieht wie folgt aus:

  match 'join' => 'game#join', :via => :post
  • Du bist besser dran Notwasserung respond_with und nur mit plain old format.json { render :json } etc. wenn Sie möchten, dass ein abweichen von den standard-controller-Aktionen.
  • Das ist genau das, was ich am Ende dabei 🙂
Schreibe einen Kommentar