我正在设置一个 API。
客户端(使用 HTTParty)将其发布到 API:
{:body =>
{
:product=> {:description=>"some text", :cost => "11.99"},
:brand=> {:name=>"BrandName", :etc =>"hey"}
}
}
服务器/api接收帖子。
现在,如果我访问 params[:brand]
我会得到:
{"name"=>"BrandName", "etc" =>"hey"}
如果我这样做:
Brand.new(params[:brand])
然后我得到一个新的 Brand 对象,其中“name”和“etc”属性已正确填充。
但是,如果我尝试访问 params[:brand][:name]
,我只会得到 nil
有什么想法吗?
谢谢。
最佳答案
使用params[:brand]["name"]
或params["brand"]["name"]
哈希键可以是任何类型的对象。常见的做法是使用符号作为哈希键,但从 JSON 转换时,键很可能是字符串。
关于ruby-on-rails - Ruby/Rails - 无法直接在 Controller 中访问 JSON 对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7179438/