J'ai une méthode post appelé jointure qui devrait faire ce qui suit: 1) créer un nouvel objet 2) répondre avec un objet JSONrépond_with ne fonctionne pas en ruby sur rails. Pourquoi?
Voici mon code:
class GameController < ApplicationController
respond_to :json
def join
@p = Player.new(:name => params[:name])
@p.save!
respond_with({:uuid => @p.uuid})
end
end
Pour une raison quelconque, l'appel respond_with échoue toujours avec cette erreur:
undefined method `model_name' for NilClass:Class
Si je change l'appel respond_with à quelque chose plus simple que je reçois encore des erreurs, par exemple:
respond_with "hello"
cède cette erreur:
undefined method `hello_url' for #<GameController:0x1035a6730>
Qu'est-ce que je fais mal ?? Je veux juste leur renvoyer un objet JSON!
PS, mon fichier itinéraires ressemble à ceci:
match 'join' => 'game#join', :via => :post
Vous êtes mieux amerrissage 'respond_with' et juste en utilisant le bon vieux 'format.json {render: json}' etc. si vous voulez quitter les actions du contrôleur standard. – zetetic
C'est exactement ce que j'ai fini par faire :-) –