Rails没有向JSON请求发送会话cookie

时间:2013-01-11 11:28:25

标签: ruby-on-rails web-services api rest cookies

我使用的是Rails 3.2.8。我想从应用程序访问一条记录做一些处理,并以修改记录的形式返回结果。我通过json请求到控制器这样做。它运行正常,但是当我发布更新(当然)时,我收到了CSRF警告。我想通过存储原始请求中的会话cookie并在执行帖子时使用来删除它们。 (这似乎也是一种很好的安全措施)。

问题是没有发送会话cookie。我尝试过使用HTTParty和RestClient gems。当我在浏览器中发出请求(使用Firefox的RESTClient插件)时,会发送cookie。我认为这是预期的行为,因为cookie应该发送给浏览器。

有没有办法让cookie被发送到脚本?

这样做是否正确?如果不是,我该怎么接近这个?

1 个答案:

答案 0 :(得分:3)

请检查 authenticity_token 是否参与参数。我过去曾遇到类似的问题。

如果未在参数中传递authenticity_token,请在表单中添加form_authenticity_token帮助程序。

在您的控制器中

skip_before_filter :verify_authenticity_token

我认为这可能有助于你。