无论我尝试什么,都无法访问ActionController :: Parameters

时间:2018-06-12 21:32:09

标签: ruby-on-rails ruby actioncontroller

不知道为什么我无法访问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] 。那里的任何人都让我摆脱了苦难?

1 个答案:

答案 0 :(得分:1)

如果Content-Type请求标头设置为application/json,Rails将自动使用反序列化的请求主体填充params哈希值。看来该请求缺少标头。我们现在正在添加相应的标题。