2011-10-25 41 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 

了。