ruby-on-rails - Ruby/Rails - 无法直接在 Controller 中访问 JSON 对象属性

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

我正在设置一个 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/

相关文章:

ruby-on-rails - PostgreSQL on Rails 3.2 不支持 sslmode

ruby-on-rails - 完成教程时与 Cookie 相关的 rspec 测试问题

javascript - 如何从 JSON 中获取正确的值?

php - JSON.parse 是用什么写的/开源吗?

ruby-on-rails - Rails 3.2 中的 PostgreSQL DATALINK 类型

ruby-on-rails - 小型 Controller 上的代码重构(瘦 Controller 胖模型)

ruby-on-rails - 等效于哈希的 .try() 以避免 "undefined method"错误?

c# - 以空值将Powershell内容保存为JSON

ruby-on-rails - 验证具有特定值的动态创建的对象是否存在

ruby-on-rails-3 - 2 列上的 MongoMapper OR 子句 - Rails 3.1.rc4