Ruby on Rails
안전한 Constantize
수색…
안전한 safe_constantize
User
는 ActiveRecord
또는 Mongoid
클래스입니다. User
를 프로젝트의 모든 Rails
클래스로 대체하십시오 ( Integer
또는 Array
와 같은 것조차도).
my_string = "User" # Capitalized string
# => 'User'
my_constant = my_string.safe_constantize
# => User
my_constant.all.count
# => 18
my_string = "Array"
# => 'Array'
my_constant = my_string.safe_constantize
# => Array
my_constant.new(4)
# => [nil, nil, nil, nil]
실패한 안전 _ 결정
이 예제는 전달 된 문자열이 프로젝트에서 상수로 인식되지 않기 때문에 작동하지 않습니다. "array"
을 전달하더라도 대문자로되어 있지 않으므로 작동하지 않습니다.
my_string = "not_a_constant"
# => 'not_a_constant'
my_string.safe_constantize
# => nil
my_string = "array" #Not capitalized!
# => 'array'
my_string.safe_constantize
# => nil
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow