2009-07-21 11 views
0

Je reçois zéro de params [: user] dans create action de mon contrôleur pour la première requête quand je démarre mon serveur mongrel en utilisant mongrel_rails start. Après cela pour la deuxième et la troisième fois sont ok. De plus, si je lance mon Mongrel en utilisant script/serveur, il n'y a aucun problème. Il est différent en démarrant le serveur mongrel entre script/server et mongrel_rails start? Avez-vous déjà fait face à ce problème?Impossible d'obtenir la valeur params [: user] première requête en utilisant mongrel_rails start?

Voici mon code dans le contrôleur:

def create 
    @user = User.new(params[:user]) 

    respond_to do |format| 
    if @user.save 
     flash[:notice] = 'User was successfully created.' 
     format.html { redirect_to(@user) } 
     format.xml { render :xml => @user, :status => :created, :location => @user } 
    else 
     format.html { render :action => "new" } 
     format.xml { render :xml => @user.errors, :status => :unprocessable_entity } 
    end 
    end 
end 

J'utilise Poster add-on pour tester et post au format xml.

+0

Voulez-vous coller votre code afin que les utilisateurs peuvent jeter un oeil? – Swanand

Répondre

0

La première chose que vous voulez vérifier est la nouvelle action dans votre contrôleur. Deuxième est le fichier erb qui a votre forme. J'ai l'impression que les balises de champ de texte ne sont pas correctes.

Je vous recommande d'inspecter l'objet params par:

logger.debug params.inspect # Will show up log/development.log 
puts params.inspect # Will show up in server console 
+0

Mais je ne forme pas HTML pour poster les données, j'utilise Poster, un addon firefox pour tester le service web RESTful, et mettre les données dans le corps du message directement. – Samnang

+0

Oups .. donc vous n'avez pas besoin de voir le formulaire html, mais vous auriez encore besoin d'inspecter l'objet 'params' – Swanand