“Params”无法处理Rails中的JSON参数

时间:2012-01-05 18:49:40

标签: ruby-on-rails

我有一个webservice应用程序,在我的一个控制器中有一个从外部应用程序接收POST的动作。

这是我的heroku应用程序的日志,它确认它是一个Json数据参数:

2012-01-05T18:26:07+00:00 app[web.1]: Started POST "/let" for 192.168.1.145 at 2012-01-05 10:26:07 -0800
2012-01-05T18:26:07+00:00 app[web.1]:   Processing by LetController#create as HTML
2012-01-05T18:26:07+00:00 app[web.1]:   Parameters: {"Id"=>"dfe510c1-56e2-48ae-af0d-c4b265798f2e", "FormId"=>"5025", "Answers"=>[{"IdQuestion"=>"cfe0"
, "Value"=>"One", "FilledDate"=>"/Date(1325795160323-0200)/"}], "MSISDN"=>"8984223722"}

那么,如何在我的方法上访问这个json参数呢?我尝试过很多像params[:formid]params["formid"]ActiveSupport::JSON.decode(request.body)等等的东西。当传递给视图时,没有任何东西被渲染,就像它没有得到任何东西。

1 个答案:

答案 0 :(得分:1)

看起来你应该能够按如下方式访问你的参数:

params[:Id]
params[:FormId]
params[:Answers]
params[:Value]
params[:FilledDate]
params[:MSISDN]