2013-01-06 85 views
0

我有一個簡單的應用程序,顯示圖像時,我去根URI指向頁#指數。圖片的工作方式很好,但是當我進入/ page/index時,圖片被破壞了。這是什麼原因?當我去根uri我的圖像工作,但是當我去base.com/controller/action uri他們是壞的圖像

的routes.rb

root :to => "page#index" 
match ':controller(/:action(/:id))(.:format)' 

當我查看源代碼,並嘗試點擊從/頁/索引圖像我得到:

Unknown action 

The action 'assets' could not be found for PageController 

即使我把

match ':controller(/:action(/:id))(.:format)' 

之前

root :to => "page#index" 

它仍然不呈現圖像。

編輯:因爲我得到一個控制器錯誤。這是我的page_controller.rb

class PageController < ApplicationController 
    def index 
    render "index" 
    end 
end 
+0

好像你正在爲資產使用相對路徑,不知何故,而不是絕對路徑。生成''標籤的代碼是什麼? –

+0

@Xavier這裏是一個img標籤Contact toolz

回答

1

啊哈。這<img>標籤應該是這樣,而不是:

<img id="email" src="/assets/email.png" alt="Contact" /> 

注意正斜槓在src屬性的開始。隨着斜線,瀏覽器總是會嘗試從拉圖像:

http://my.web.site/assets/email.png 

但是,如果沒有它,你就會得到一個相對路徑,所以瀏覽器將嘗試獲得:

http://my.web.site/the/current/page/assets/email.png 

哪不存在。除非你的當前頁面是根URL,這就是它在這種情況下工作的原因。

希望有幫助!

+0

這樣做了,謝謝。很好的解釋! – toolz

相關問題