2013-07-16 64 views
1

我試圖簡單地更新在軌道網站上使用JSON API的記錄。 dev網站在這裏:vitogo.org。我使用CanCan進行授權,並使用Devise進行身份驗證。與Devise的Rails JSON API - PUT請求登錄用戶出

使用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 

我想有很多人做到這一點,所以我不知道爲什麼我一直無法找到解釋如何做到這一點。

回答

2

所以這裏的答案是我發送了錯誤的JSON。通過POSTMAN,我只需要提供key value pair,當我需要做model[key]:value。所以在我的情況下,在用戶模型更新我的名字,我需要做的:

key: user[name] value: Dave.

上面的例子將從阿雷爾改變我的名字戴夫。它所做的是將發送的JSON從{"name"=>"Dave", "id"=>"39"}這是錯誤的,更改爲{"user"=>{"name"=>"Dave", "id"=>"39"}}