2014-11-24 137 views
0

是否將Rails設置爲接收HTTP POST請求,該請求以JSON形式發送編碼信息與將以下代碼添加到sessions_controller一樣簡單?還是還有其他步驟?設置Rails以接收HTTP POST請求

def create 
    if user = User.authenticate(params["email"], params["password"]) 
    session[:user_id] = user.id 
    render:json => "{\"r\": \"t\"}" + req 
else 
    render :json => "{\"r\": \"f\"}" 
end 
end 

回答

0

應該是容易的,但你需要一個路由添加到您的routes.rb文件以及指定POST的HTTP動詞,它指向sessions#create。您也可能想要使用strong parameters只是爲了驗證哪些參數是必需的以及您將接受哪些參數。作爲領導,我不完全確定"{\"r\": \"t\"}" + req應該代表什麼。在這種情況下,看起來req是未定義的,但也許你只是省略了一些代碼。最後,render :json => ...是包含散列的舊方式。我相信從Ruby 2開始,標準更像是render json: ...。希望有幫助。

+0

非常感謝您的回覆。你建議拿出「{\」r \「:\」t \「}」+ req「或者只是拿出」+ req「或者用別的東西替換它? – Daron 2014-11-24 18:17:32

+0

我只是不確定代表什麼。 ..也許你可以詳細說明你試圖返回給誰調用你的方法。 – mattforni 2014-11-24 18:45:19