2011-11-30 30 views
1

我覺得這應該很容易,我對軌道很陌生我正在努力嘗試弄清楚如何創建一個映射到公共文件夾中靜態index.html文件的路線。每當有人轉到URL「http://myapp.com/directory」時,我希望它路由到公用文件夾中的index.html文件,但我不知道如何在路由中構建該路由。 RB。Ruby On Rails:如何創建一個到public/index.html靜態文件的路徑?

非常感謝你的智慧!

+1

這聽起來的確是一個奇怪的要求。參考你在U-DONs的回答中的評論,你爲什麼不告訴我們你爲什麼要這樣做的原因。你最終想要實現什麼?你說你是新來的rails - 所以請幫助我們幫助你找到一個好的解決方案,而不僅僅是有效的東西。 – emrass

回答

2

在你的路由,把match "/directory" => redirect("/")

+0

它只與'redirect(「/」)'一起工作嗎?對不起,但目前沒有手頭測試這個環境。 – emrass

+0

對不起,實際上這是行得通的,但只在本地。當我推到heroku它,它崩潰與「頁面不存在的錯誤」 – BeachRunnerFred

+0

好的,我把它替換成'/',並修復它。非常感謝! – BeachRunnerFred

2

您將要運行:

rails generate controller directory index 

這應該創建 「應用程序/視圖/目錄/ index.html.erb」。只需將index.html中的所有內容複製到index.html.erb文件中,然後刪除index.html文件(或更改其名稱,無論如何)。在您的routes.rb中,只需編寫:

match "/directory" => directory#index 

之後再運行您的服務器。你不能路由到public/index.html;如果你保留這個文件,你的根URL就會自動抓取該文件並渲染它。

+0

謝謝,不要!如果根URL抓取該文件,我很好,但我也希望myapp.com/directory URL抓取該文件。無論如何要做到這一點?我知道這是一個奇怪的問題,但我想這樣做是有原因的。再次感謝! – BeachRunnerFred

相關問題