Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 RubyonRails散列#slice方法返回空散列_Ruby On Rails 4_Hash_Slice_Ruby 2.0_Activesupport - Fatal编程技术网

Ruby on rails 4 RubyonRails散列#slice方法返回空散列

Ruby on rails 4 RubyonRails散列#slice方法返回空散列,ruby-on-rails-4,hash,slice,ruby-2.0,activesupport,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) =&g

为什么第一个示例返回两个指定键的哈希,而第二个示例返回一个空的哈希

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
,它返回一个
哈希值

User.last.attributes.class
=> Hash
我刚刚尝试了一些尝试(属性键是字符串而不是符号)


你说得对!我已经找到了解决办法,如果没有人回答,我打算自己写。我已经习惯于使用
hashwithindferencetaccess
来代替hash。
User.last.attributes.slice("created_at", "updated_at")