Ruby 关于 Rails Hash#slice 方法 returns 空哈希
Ruby on Rails Hash#slice method returns empty hash
为什么第一个示例 return 是具有两个指定键的散列,而第二个示例 return 是 空 散列?
User.last.slice(:created_at, :updated_at)
=> {"created_at"=>Fri, 22 May 2015 00:33:37 UTC +00:00, "updated_at"=>Fri, 22 May 2015 01:00:06 UTC +00:00}
User.last.attributes.slice(:created_at, :updated_at)
=> {}
请注意示例中的区别在于 .attributes
的使用,其中 return 是 Hash
。
User.last.attributes.class
=> Hash
我刚刚尝试了一些尝试(属性键是字符串而不是符号)
User.last.attributes.slice("created_at", "updated_at")
为什么第一个示例 return 是具有两个指定键的散列,而第二个示例 return 是 空 散列?
User.last.slice(:created_at, :updated_at)
=> {"created_at"=>Fri, 22 May 2015 00:33:37 UTC +00:00, "updated_at"=>Fri, 22 May 2015 01:00:06 UTC +00:00}
User.last.attributes.slice(:created_at, :updated_at)
=> {}
请注意示例中的区别在于 .attributes
的使用,其中 return 是 Hash
。
User.last.attributes.class
=> Hash
我刚刚尝试了一些尝试(属性键是字符串而不是符号)
User.last.attributes.slice("created_at", "updated_at")