0
我有一個方法,在我的應用程序的許多地方都使用過,在一些控制器和其他模型中都有。在方法中使用常量作爲參數?
class MyClass
LONG_CONSTANT_1 = "function(x) { some_long_js_function }"
LONG_CONSTANT_2 = "function(x) { another_really_long_js_function }"
def self.my_group_method(my_constant)
count = MyClass.collection.group(
:keyf => my_constant,
:reduce => "function(x, y) {y.count += x.count;}"
)
end
end
因此,即使所謂的內部my_group_method
該方法涉及到MongoDB的,問題是本身都沒有關係,基本上我希望能夠調用
MyClass.my_group_method(LONG_CONSTANT_2)
或
MyClass.my_group_method(LONG_CONSTANT_1)
(實際上有幾個常量需要,但例子只有2個)
不幸的是我在這裏的實施導致錯誤:NameError: wrong constant name LONG_CONSTANT_1
在如何最好地實現這種行爲的任何想法?我可能會有幾個很長的常量(實際上JS函數是作爲發送到MongoDB的字符串),我在這裏使用的設計模式有什麼問題?
任何幫助將不勝感激!