【发布时间】:2012-05-07 08:20:53
【问题描述】:
我希望整个应用程序都可以使用一个列表,所以我把它放在 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)之前加上了美元符号,它起作用了。使用我的其他常量,它们就可以工作。我想我认为它们应该只是因为在那个类中而成为全局变量。为什么这个行为不同?
谢谢
【问题讨论】:
-
P.S.我知道列表声明看起来很古怪,但我认为它只是粘贴从右到左的字符。它确实有效。
标签: ruby-on-rails global-variables constants