Ruby / Rails - 无法直接在控制器中访问JSON对象属性

时间:2011-08-24 17:05:53

标签: ruby-on-rails ruby-on-rails-3 json

我正在设置API。

客户端(使用HTTParty)将此帖子发布到API:

{:body => 
       {
        :product=> {:description=>"some text", :cost => "11.99"}, 
        :brand=>   {:name=>"BrandName", :etc =>"hey"}
       }
}

server / api收到帖子。 现在,如果我访问params[:brand],我会得到:

{"name"=>"BrandName", "etc" =>"hey"}

如果我这样做:

Brand.new(params[:brand])

然后我得到一个新的Brand对象,其中“name”和“etc”属性填充正确。

但是,如果我尝试访问params[:brand][:name],我只会获得nil

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:3)

使用params[:brand]["name"]params["brand"]["name"]

哈希键可以是任何类型的对象。常见的做法是使用符号作为哈希键,但是当从JSON转换时,键可能是字符串。