我想要一个列表可供整个应用程序使用,所以我把它放在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)之前放了美元符号,并且它起作用了。使用我的其他常量,它们只是起作用。我想我认为他们只是因为在那个班级中而被认为是全局变量。为什么这个表现不同?
谢谢
答案 0 :(得分:1)
首先确保您的constants.rb
文件位于/config/initializers/
。其次,尝试使用hebrew_constants
的所有大写字母。从SO question中的评论来看,这听起来像是必要的。