0

アプリケーション全体でリストを利用できるようにしたいので、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)の前にドル記号を付けたところ、機能しました。私の他の定数では、それらは機能します。そのクラスにいるからといって、グローバル変数になるはずだと思ったのではないでしょうか。なぜこれが違う振る舞いをするのですか?

ありがとうございました

4

1 に答える 1

1

まず、constants.rbファイルがにあることを確認します/config/initializers/。次に、のすべての大文字を使用してみてくださいhebrew_constants。このSO質問のコメントから、すべて大文字が必要であるように思われます。

于 2012-05-07T09:19:03.497 に答える