API url : : http://www.example.com/users/sign_in
参数 : {"user":{"login":"test","password":"test123$"},"commit":"Login"}
提交后 :
Started POST "/users/sign_in" for 127.0.0.1 at 2015-04-10 17:10:20 +0530
Processing by SessionsController#create as JSON
{"action"=>"create", "controller"=>"sessions"}
Completed 500 Internal Server Error in 1ms
NoMethodError (undefined method `[]' for nil:NilClass):
app/controllers/sessions_controller.rb:23:in `create'
函数是
def create
respond_to do |format|
........
params[:user][:login] # this value give nil for JSON format
.... .....
end
end
但是对于HTML格式的相同作品
尝试将content_type标头设置为 application/json
。所有POST
或PATCH
呼叫都需要这样做。
还要在URL的末尾添加.json
,以便Rails自动将JSON转换为参数。