2014-03-29 49 views
0

我對耙路線的理解是,它引導了Rails應用程序,然後從中拉出路線。如果我只想查看文本(無需加載rails應用程序)並能夠輸出與rake路由輸出類似的內容,我該怎麼做?我知道耙路徑實際上運行Ruby代碼,我擔心這樣做,因爲我不信任這些應用程序。獲取Rails應用程序的路線而不運行耙路線

我很厭倦加載Rails應用程序,因爲我不信任這些Rails應用程序,但是如果有一種方法可以對Rake路由或某些相關方法的運行進行沙盒處理,那麼我也會對其開放。

+0

把應用程序變成流浪沙箱並運行它有:http://www.vagrantup.com/ – Casper

回答

0

如果你有一個複雜的路徑文件和很多引擎,你可能會更好地使用Vagrant在沙箱中運行應用程序。如果它很簡單,這種方法可能適用於你。

Rails將從routes.rb生成路由,而不包含基礎應用程序。創建一個新的虛擬應用程序,確保您將rails版本與您要檢查的應用程序版本相匹配。

> rails new dummy_app 
    … 

> cd dummy_app 
> cp /path/to/untrusted/app/config/routes.rb ./config/ 

編輯在路由文件頂部的應用程序名稱相匹配的虛擬應用程序的名稱,在這種情況下,這將是DummyApp.Application.routes.draw do。然後運行

> rake routes 

一些注意事項:如果在沒有任何發動機或寶石speficic路線,你需要將這些添加到Gemfile中或註釋掉那些路由。例如,如果pap使用active_admin,則需要將其添加到gemfile以及生成AdminUser類。然後當生成器將行添加到路由文件時,您將需要重新掃描路由文件。如果遇到未初始化內容的問題,您可能需要初始化程序來要求某些類。例如,如果你安裝Resque ::服務器,您需要使用這兩條線路的初始化:

# config/initializers/dummy_init.rb 
require 'resque' 
require 'resque/server' 
相關問題