2011-10-25 42 views
1

我正在将Rails应用程序重构为引擎。该应用程序依赖于我想包含在引擎中的/脚本中的python脚本。Rails 3.1引擎:如何在/脚本中调用脚本

原始应用的代码是:

system("python #{Rails.root}/script/big_calculation.py") 

应该在哪里这个脚本保存在新的引擎?我将如何重写上面的代码行来反映这个新的位置?

感谢

杰克

回答

2

没有占该引擎SE一个Rails.root。但是你可以让一个在你的引擎定义常量是这样的:

module YourThing 
    class Engine 
    def self.root 
     File.expand_path("../..") 
    end 
    end 
end 

然后调用它使用YourThing::Engine.root

+0

当我测试了这个,结果证明它已经内置了。谢谢你的灵感。 –

1

事实证明,你可以叫

MyEngine::Engine.root 

了。