【问题标题】:Rails JSON API with Devise - PUT requests log user outRails JSON API with Devise - PUT 请求注销用户
【发布时间】:2013-07-16 03:23:42
【问题描述】:

我正在尝试在 Rails 站点上使用 JSON API 简单地更新记录。开发网站:vitogo.org。我使用CanCan 进行授权,使用Devise 进行身份验证。

使用POSTman 我可以很好地发出 GET 请求,但是当我尝试发出 PUT 请求时,它只会让我退出网站。

我已经搜索了一段时间,但找不到解决我问题的答案。我认为这与从 JSON API 发出 PUT 请求时没有 CSRF 令牌有关,所以我尝试添加:

before_filter :verified_request?

def verified_request?
    if request.content_type == "application/json"
      true
    else
      super()
    end
  end

我假设很多人都这样做,所以我不知道为什么我无法找到如何做到这一点的解释。

【问题讨论】:

    标签: ruby-on-rails json devise cancan


    【解决方案1】:

    所以这里的答案是我发送了错误的 JSON。当我需要做model[key]:value时,我只是给了邮递员key value pair。所以在我的情况下,要在用户模型中更新我的名字,我需要这样做:

    key: user[name] value: Dave.

    以上示例会将我的名字从 Arel 更改为 Dave。它所做的是将发送的 JSON 从错误的 {"name"=>"Dave", "id"=>"39"} 更改为 {"user"=>{"name"=>"Dave", "id"=>"39"}}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多