これを実現する方法は、#missing_nameまたは#missing_name?を使用してNameErrorを捕捉することです
begin
HelloWorld
rescue NameError => e
e.missing_name
end
# => "HelloWorld"
詳細についてはドキュメントを参照してください。
これが醜いと感じる場合、次のようなメソッドにラップすることもできます:
def check_defined(constant)
begin
Oject.const_get(constant)
rescue NameError => e
.missing_name?(constant)
!eend
true
end
この他にも、これがRailsの読み込みの問題によるものかどうかを確認する必要があります。