アプリケーション全体でリストを利用できるようにしたいので、constants.rbに入れます。
hebrew_consonants = ["א", "ב", "ג", "ד", "ה", "ו", "ז", "ח", "ט", "י", "ך", "כ", "ל","ם","מ","ן", "נ", "ס", "ע", "ף", "פ", "ץ", "צ", "ק", "ר", "ש","ת"]
application_controller.rbでは、次のようにリストを使用します。
def is_hebrew?(query)
(0...query.length).each do |index|
return true if hebrew_consonants.include?(query[index])
end
return false
end
サーバーを再起動すると、アプリがリストを認識していないと文句を言いました。宣言と参照($ hebrew_consonants)の前にドル記号を付けたところ、機能しました。私の他の定数では、それらは機能します。そのクラスにいるからといって、グローバル変数になるはずだと思ったのではないでしょうか。なぜこれが違う振る舞いをするのですか?
ありがとうございました