2013-02-25 56 views
0

我想在視圖中顯示用戶的頭像,但圖像有時會丟失,因此會顯示missing.png。我如何用默認圖像替換它? (注意:我不想用它替換視圖中所有損壞的圖像,只是我感興趣的圖像)。使用JavaScript替換Ruby On Rails視圖中特定標記的碎片圖像

我做了一些谷歌上搜索,發現這個javascript函數,但不知道如何在我看來(.html.havl文件)使用它(我很新的Ruby on Rails的)

$('img').error(function(){ 
$(this).attr('src', '<<<REPLACE URL>>>'); 
}); 

這裏是我的

$(".user_avatar img").on('error', function() { 
    $(this).attr('src', 'replace-url'); 
}); 

:鑑於

... 
.user_avatar 
%img{:src => @user.avatar.url} <<<< how do I make the 'src' points to the default image 
... 

回答

0

在JS端只需使用一個更具體的選擇如果您想在RoR端執行此操作,則可以檢查@user.avatar.url是否位於相同的文件系統或甚至使用HTTP請求。

+0

所以,只要把這塊代碼放在視圖文件的開頭? (正如我所說的,我是Ruby On Rails的新手,對於這個問題的簡單性感到抱歉!) – 2013-02-25 20:05:34

+0

順便說一下,我把它放在頂部(在將':javascript'預先添加到塊後,缺少.png'仍然顯示在我的默認圖像的位置,我是否需要調用函數或什麼? – 2013-02-25 20:09:29

+0

關於您對RoR端的評論,我在我的幫助器方法'if defined?user.avatar.url'中執行此操作。 – 2013-02-25 20:14:53