Ruby on Rails Hash#slice方法返回空哈希

时间:2015-05-28 20:31:01

标签: ruby-on-rails-4 hash slice ruby-2.0 activesupport

为什么第一个示例返回带有两个指定键的散列,而第二个示例返回散列?

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的使用,它返回Hash

User.last.attributes.class
=> Hash

1 个答案:

答案 0 :(得分:2)

我只是尝试了一些尝试(属性键是字符串而不是符号)

User.last.attributes.slice("created_at", "updated_at")