【发布时间】:2013-11-25 02:49:04
【问题描述】:
此方法采用哈希并返回不包含敏感信息的新哈希。它不会修改传入的哈希。
有没有更类似于 Ruby 的惯用方式?
def sanitize hash
new_hash = hash.dup
protected_keys = [ :password, 'password', :confirmation, 'confirmation' ]
new_hash.each do |k,v|
if protected_keys.include?( k ) && ! v.blank?
new_hash[ k ] = 'xxxxxxxxx'
end
end
new_hash
end
在 Ruby 1.9.3、Sinatra(不是 Rails)和不中使用 Active Record。
【问题讨论】:
-
我认为您不恰当地使用了“消毒”一词。在编程上下文中,sanitize 意味着转义特殊字符。
-
好的,有什么更好的名字?保护?
-
也许“隐藏”或“掩码”更好。
-
如果你没有使用 Rails 或 Active Record,
blank?来自哪里?
标签: ruby sinatra hashtable ruby-1.9.3