4
我有需要初始化一個類,但它的命名空間是這樣的:調用使用Rails constantize偏轉一個命名空間類
SomeThing::MyClass.new()
但我從一耙的任務ARGS調用它,所以它涉及作爲一個字符串:
task :blah, [:my_class_name] => :environment do |t, args|
class_name = args[:my_class_name].camelize.constantize
puts class_name
end
所以,很顯然,如果我叫耙任務是這樣的:
rake blah[my_class]
我的任務回報:
MyClass # <= Actual ruby object
但是我怎樣才能得到它從之前的另一種方法鏈接命名空間中運行,就像這樣:
SomeThing::MyClass.new()
從作爲輸入提供的字符串?