0

だから私はクラスの値からクラスを取得しようとしています:

bucket.product_name.constantize #=> 失敗したかどうかを確認したい

ただし、アプリケーションで次のようなバグが発生することがあります。

NameError: 間違った定数名 a

したがって、値または破損した値を持つ奇妙なproduct_namesがいくつかあると思います。nila

それが NameError の問題であるかどうかをどのように確認しますか?

言う、

"a".constantize if "a".constantize != NameError

4

2 に答える 2

1
defined?("a") == "constant"

# => true if "a" is a valid constant name
# => false otherwise

これを使用して:

name = bucket.product_name
name.constantize if defined?(name) == "constant"
于 2013-08-21T02:39:51.183 に答える