如何验证ActiveResource以避免InvalidAuthenticityToken响应?

时间:2008-09-29 18:45:03

标签: ruby-on-rails ruby activeresource

我正常创建了一个Rails应用程序。然后为事件类创建了脚手架。然后尝试了以下代码。运行时,在执行destroy方法时会抱怨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

2 个答案:

答案 0 :(得分:2)

我找到了这个问题的答案,因为我正在编写命令行应用程序。我将以下内容添加到我的控制器中:

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

答案 1 :(得分:2)

Rails只在你请求html时才需要这个,如果你要求xml(可能除了html以外的任何东西?)它不会检查它。看起来你的服务器的destroy动作需要一个xml响应,问题应该消失。