2010-05-18 75 views
0

我認爲這是一個簡單的問題。我正在使用這種有用的Flash文檔閱讀器FlexPaper。我把它嵌入到我的一個Show頁面中。但是,當我點擊其工具欄上的一個鏈接顯示在文件中新的瀏覽器,它指向以下鏈接:Rails路線重寫

http://example.com/intels/FlexPaperViewer.swf?ZoomTime=0.5&FitPageOnLoad=false&PrintEnabled=false&SwfFile=%2FPaper.swf

不工作,我得到以下錯誤:

ActiveRecord::RecordNotFound in IntelsController#show

Couldn't find Intel with ID=FlexPaperViewer

,但如果我刪除從路徑中的「英特爾」這樣的URL看起來像:

http://example.com/FlexPaperViewer.swf?ZoomTime=0.5&FitPageOnLoad=false&PrintEnabled=false&SwfFile=%2FPaper.swf

它工作正常。

我的問題是處理這個問題的最佳方法是什麼?你能寫一條路線,重寫一個以intels/FlexPaperViewer.swf開頭的url並刪除intels前綴嗎?那將是什麼樣子?

有更好的選擇嗎?

回答

0

想一想,如何將FlexPaperViewer.swf放置在public/intels文件夾中?

因此,目錄結構將是

<project-directory>/public/intels/FlexPaperViewer.swf 

這樣做將會使鏈接正確。這樣做似乎更容易。 希望它有幫助。

編輯

另一種選擇將是看到是如何生成的鏈接,也許是當你嵌入FlexPaper,你可以設置一個參數。

我不知道任何可以做你想做的路由修改。也許別人可以幫助解決這個問題。

+0

有趣的想法,今天早上我會嘗試第一件事。 – Jonathan 2010-05-18 12:19:24

+0

這不起作用 - rails路由首先捕獲url並引發錯誤。我更新了錯誤的問題 – Jonathan 2010-05-18 13:00:21