2011-08-21 146 views
8

如何在我的公共/ images中將圖像標記鏈接到文件background.jpg,並且單擊時將用戶重定向到root_url(因此,頁面內容位於容器中,如果用戶點擊背景圖片重定向回家?)謝謝!Rails 3:link_to和image_tag

+1

如果其中一個答案解決了您的困境,請接受它。謝謝! – Tass

回答

14

肯定的:

<%= link_to(image_tag("background.jpg", :alt => "home image", :width => 100, :height => 100, :title => "Click here to return to Home") "/") %> 
+0

當您這樣做時,即使圖像存在,鏈接也不會垂直拉伸以填充屏幕。所以如果你點擊瀏覽器窗口的前幾個像素,你會被重定向,但是如果你點擊了其他任何你不是的地方。你有這個解決方案嗎? – user852974

+0

只需在寬度和高度添加即可顯示。然而,這聽起來像鏈接周圍的區域的CSS有問題。 – jschorr

+0

解決方案的確滿足了這個問題。我說我們不關注CSS行爲,因爲它超出了這個討論的範圍。 – Tass

4

我正在尋找同樣的事情,前一段時間,我發現了Rails的方式來做到這一點。

比方說,你想給你的HTML頁面來呈現follwoing代碼

<a title="Return Home" class="logo" href="/pages/home"> 
<img width="200" height="50" src="logo.png" alt="Logo Image"> 
</a> 

在哪裏「頁」是控制器和「家」是動作。這是Rails的方式。

<%=link_to(image_tag("12roots-logo.png",:size => "209x50", :alt=> "12roots"), 
{:controller=>"pages", :action=>"home"}, :title=>"Return Home", :class=>"logo") %> 
6

大多數軌標籤傭工接受一個塊,這意味着你可以使用do來簡化你的生活。這裏我用一個塊與link_to

<%= link_to root_url do %> 
    <%= image_tag "background.jpg" %> 
<% end %> 

在這種情況下,的link_to預計下一個參數是路徑和塊發出什麼樣的錨套。

一般來說,我會盡量保持每行規則的一個標籤助手,除非其超級微不足道,所以當線條會變得擁擠時更喜歡這種技術。這樣做的一個好處是,由於標籤位於不同的行,錯誤更容易識別。

如果您還需要其他選項,請像往常一樣添加它們。例如,我將添加一個css類:

<%= link_to root_url, :class => 'imagelink' do %> 
    ...