很多时候,在 controller 里面要验证一个数据是否有效的,比如:
class PostController < ActionController::Base
def operate
raise Http404 unless Post::TYPES.include params[:type].to_sym
end
end
ruby 里面 symbol 不释放,这样就会有一个安全隐患,输入无数错误的 type,内存泄露掉。
但是每次把 Post::TYPES 全部变成 string 再做 include?判断,又很不优雅,大家觉得应该怎么做比较好?