2011-05-31 3 views
0

Je suis débutant aux rails et essayant actuellement de construire une api REST sur Rails. J'essaye de me relier au service Web de repos de mon application androïde. Il s'agit du code du contrôleur auquel j'achemine la requête.Rails service web ne pas retourner la réponse requise

class SessionsController < ApplicationController 

    def create 
    user = User.authenticate(params[:userid], 
          params[:password]) 
    if user.nil? 
     message="Invalid Username/Password" 
     return message 
    else 
     sessionId=make_sessionId 
     return sessionId 
    end 
    end 

    def destroy 
    end 
end 

Je suis en train de frapper la créer une action dans le problème SessionController.The est que la réponse que je reçois est le code HTML de la vue alors que ce que je suis impatient de est le « un message ou » sessionId 'du contrôleur.J'ai supprimé les fichiers de vue après quoi je reçois le HTML avec des exceptions à l'intérieur. Est-ce que quelqu'un peut me faire savoir ce que je devrais ici pour obtenir la réponse du contrôleur plutôt que de renvoyer le code HTML dans la vue chez le client.?

Répondre

1

Si vous n'avez pas de rendu dans votre contrôleur, les rails utiliseront la vue associée au nom de l'action. Essayez "render: text => message" par exemple. J'espère avoir bien compris votre question.

+0

Vous voulez dire que si j'utilise render: text => message au lieu de 'return message' dans le code ci-dessus, j'obtiendrai la réponse requise du service web? Dois-je ajouter quelque chose de plus? Désolé pas au lieu de travail maintenant, donc je ne peux pas l'essayer tout de suite. – rogerstone

+0

Faites un essai. Je n'ai jamais utilisé Android. J'espère que cela fonctionne :-) http://guides.rubyonrails.org/layouts_and_rendering.html – Bjoernsen

+0

Je ne pense pas que ce serait important quel que soit le client. – rogerstone

Questions connexes