用于 rails 登录的 iphone API 无法接收 JSON 格式的参数



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 。所有POSTPATCH呼叫都需要这样做。

还要在URL的末尾添加.json,以便Rails自动将JSON转换为参数。

最新更新