2008-09-29 7 views
2

J'ai créé une application Rails normalement. Puis créé l'échafaud pour une classe d'événement. Puis essayé le code suivant. Lorsqu'il est exécuté, il se plaint d'un InvalidAuthenticityToken lorsque la méthode destroy est exécutée. Comment m'authentifier pour éviter cette réponse?Comment s'authentifier auprès de ActiveResource pour éviter la réponse InvalidAuthenticityToken?

require 'rubygems' 
require 'activeresource' 

class Event < ActiveResource::Base 
    self.site = "http://localhost:3000" 
end 

e = Event.create(
    :name => "Shortest Event Ever!", 
    :starts_at => 1.second.ago, 
    :capacity => 25, 
    :price => 10.00) 

e.destroy 

Répondre

2

J'ai trouvé une réponse à ce problème qui fonctionne depuis que j'écris une application en ligne de commande. J'ai ajouté ce qui suit à mon contrôleur: (peut-être autre chose que html)

# you can disable csrf protection on controller-by-controller basis: 
    skip_before_filter :verify_authenticity_token 
2

Rails exige seulement quand vous demandez html, si vous demandez xml il ne vérifie pas pour cela. On dirait que l'action de destruction pour votre serveur a besoin d'une réponse XML et le problème devrait disparaître.

Questions connexes