ruby-on-rails – Hash.except()不适用于符号键

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Hash.except()不适用于符号键前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一段代码,这行:

user.attributes.except('created_at','created_by','updated_at','updated_by','id')

工作(返回散列与传递的键作为从中删除的参数),而将其更改为:

user.attributes.except(:created_at,:created_by,:updated_at,:updated_by,:id)

不(返回的哈希仍然包含所有键).这怎么可能?

解决方法

因为属性返回带有键的哈希,而不是符号.

http://apidock.com/rails/ActiveRecord/Base/attributes

正如其他人所说,String!= Symbol.

puts :a == 'a'
# => false

猜你在找的Ruby相关文章