不知道为什么我无法访问ActionController :: Parameters类的这些参数。以下是参数:
S2 <- [S0] >>= function1 >>= function2
我试图获得sku,但我得到的只是{"{\"base_options\":{\"origin\":{\"name\":\"\",\"phone\":\"\",\"street_1\":\"\",\
"street_2\":\"\",\"zip\":\"\",\"city\":\"\",\"state_iso2\":\"\",\"country_iso2\":\
"US\",\"address_type\":\"commercial\"},\"destination\":{\"name\":\"\",\"phone\":\"\",
\"street_1\":\"932 MyStreet Dr\",\"street_2\":\"\",\"zip\":\"12345\",\"city\":\"Mecio\",
\"state_iso2\":\"NX\",\"country_iso2\":\"US\",\"address_type\":\"residential\"},
\"items\":"=><ActionController::Parameters {"{\"sku\":\"\",\"name\":\"\",
\"length\":{\"units\":\"in\",\"value\":0},\"width\":{\"units\":\"in\",\"value\":0},
\"height\":{\"units\":\"in\",\"value\":0},\"weight\":{\"units\":\"oz\",\"value\":10},
\"discounted_price\":{\"currency\":\"USD\",\"amount\":\"0\"},
\"declared_value\":{\"currency\":\"USD\",\"amount\":\"17.5\"},\"quantity\":1,
\"attributes\":"=>[{"}"=>{",\"customer\":{\"customer_groups\":"=>{"\"\""=>{"},\"cart_id\":\"05\"},
\"connection_options\":{\"auth_token\":\"adfasdf\",\"seller_id\":\"asdf\",\"marketplace\":\"5\"}
,\"zone_options\":"=>[{",\"rate_options\":"=>[{"}"=>nil}]}]}}}}]} permitted: false>,
"controller"=>"welcome", "action"=>"amazon_creds"}
我尝试过的任何东西。我尝试过以下方法:
nil
是的,我已经阅读了这个ActionContoller::Parameters
是的,我在这里感到茫然,不知道如何访问这些params[:sku]
params["sku"]
params[:base_options][:sku]
params.as_json[:base_options]
params.as_json[:sku]
params.to_h[:sku]
params.to_unsafe_h.slice(:base_options)
params.to_unsafe_h[:sku]
params[0]
。那里的任何人都让我摆脱了苦难?
答案 0 :(得分:1)
如果Content-Type
请求标头设置为application/json
,Rails将自动使用反序列化的请求主体填充params哈希值。看来该请求缺少标头。我们现在正在添加相应的标题。