json 参数中的数据已更改

json data changed in the params

这是一个 webhook activity 我正在尝试使用 postman。 post内容如下json.

 {
   "model":{
      "id":"560a32d2a1dcb7902a7ad596",
      "name":"cool features",
      "pos":32767.5
   },
   "action":{
      "id":"567537b94332a7d8489a0d26",
      "idMemberCreator":"55024f3fdd60428e915d2c2b",
      "data":{
         "board":{
            "shortLink":"SUDki3AR",
            "name":"recipe",
            "id":"560a31fad96886a87cabf39a"
         },
         "list":{
            "name":"cool features",
            "id":"560a32d2a1dcb7902a7ad596"
         },
         "card":{
            "shortLink":"sufSA867",
            "idShort":18,
            "name":"added",
            "id":"567537b94332a7d8489a0d25"
         }
      },
      "type":"createCard",
      "date":"2015-12-19T10:55:53.904Z",

   }
} 

rails 从参数中剥离操作键值。我只能使用 request.raw_post 来获取它。但它是一个字符串。有没有办法获取参数中 json 中的动作值?字符串操作会非常困难。

Rails 在每次请求时设置参数 controlleraction,因此它会覆盖您的 action.

正如您已经发现的那样,您可以获得请求字符串并且您知道它是 json,您可以解析它(顺便说一下:您的 json 无效,额外的 ,date 之后):

action = JSON.parse(request.raw_post)['action']