link_to छवि टैग। टैग में क्लास कैसे जोड़ें


90

मैं निम्नलिखित की तरह link_to img टैग का उपयोग कर रहा हूं

<%= link_to image_tag("Search.png", :border=>0, :class => 'dock-item'), 
:action => 'search', :controller => 'pages'%><span>Search</span></a>

जिसके परिणामस्वरूप html निम्नलिखित है

<a href="/pages/search"><img alt="Search" border="0" class="dock-item" 
src="/images/Search.png?1264132800" /></a><span>Search</span></a> 

मैं चाहता हूं कि वर्ग = "डॉक-आइटम" <a>आईएमजी टैग के बजाय टैग पर जाए।

मेरे द्वारा इसे कैसे बदला जा सकता है?

अपडेट करें:

<%= link_to image_tag("Search.png", :border=>0), :action => 'search', 
:controller => 'pages', :class => 'dock-item' %>

का परिणाम

<a href="/pages/search?class=dock-item"><img alt="Search" border="0" 
src="/images/Search.png?1264132800" /></a> 

जवाबों:


137

नमस्ते आप ऐसा करने की कोशिश कर सकते हैं

link_to image_tag("Search.png", border: 0), {action: 'search', controller: 'pages'}, {class: 'dock-item'}

या और भी

link_to image_tag("Search.png", border: 0), {action: 'search', controller: 'pages'}, class: 'dock-item'

ध्यान दें कि घुंघराले ब्रेसिज़ की स्थिति बहुत महत्वपूर्ण है, क्योंकि यदि आप उन्हें याद करते हैं, तो रेल मान लेंगे कि वे एक एकल हैश पैरामीटर बनाते हैं ( यहां इसके बारे में और पढ़ें )

और लिंक_ के लिए एपीआई के अनुसार :

link_to(name, options = {}, html_options = nil)
  1. पहला पैरामीटर दिखाया जाने वाला स्ट्रिंग है (या यह एक image_tag भी हो सकता है)
  2. दूसरा लिंक के यूआरएल के लिए पैरामीटर है
  3. अंतिम आइटम HTML टैग, जैसे वर्ग, ऑन्चेंज, आदि घोषित करने के लिए वैकल्पिक पैरामीटर है।

आशा करता हूँ की ये काम करेगा! =)


विस्तृत उत्तर के लिए धन्यवाद। मैं अपने जवाब को स्वीकार करेंगे, लेकिन मुझे पता है अगर आप जानते हैं कैसे LINK_TO टैग के साथ इस लक्ष्य को हासिल करने के साथ ही .. <a href="https://stackoverflow.com/pages/search" class="dock-item"><img alt="Search" border="0" src="/images/Search.png?1264132800" /><span>Search</span></a>मैं एक स्पैन टैग बंद करने से पहले जोड़ दिया है <a>टैग
सर्वव्यापी

यह वास्तव में एक ही अवधारणा है, इसलिए आपको छवि_टैग और स्पैन को पैरामीटर "नाम" दोनों को निचोड़ने के तरीके खोजने की आवश्यकता है। आप यह कोशिश कर सकते हैं, पूर्ण कोड नहीं, लेकिन मुझे लगता है कि आप इसे स्वयं कर सकते हैं =) = link_to "# {image_tag} <span> खोज </ span>", ... क्या आप देख सकते हैं कि मैं क्या करने की कोशिश कर रहा हूं?
स्टेलन

आह मिल गया। हाँ, मैं इसे नाम पैरामीटर में निचोड़ना चाहता था। लेकिन # {} के बारे में पता नहीं था। रेल के साथ मज़ा समय
सर्वव्यापी

यह दूसरों के लिए सहायक हो सकता है: यदि आप लिंक के पाठ के बगल में एक छवि जोड़ना चाहते हैं तो आप बस <% = link_to image_tag ('image_path') + "लिंक पाठ", the_path%>
निक

27

बस यह जोड़कर कि आप link_toविधि को ब्लॉक कर सकते हैं :

<%= link_to href: 'http://www.example.com/' do %>
    <%= image_tag 'happyface.png', width: 136, height: 67, alt: 'a face that is unnervingly happy'%>
<% end %>

का परिणाम:

<a href="/?href=http%3A%2F%2Fhttp://www.example.com/k%2F">
    <img alt="a face that is unnervingly happy" height="67" src="/assets/happyface.png" width="136">
</a>

यह एक जीवन रक्षक रहा है जब डिजाइनर ने मुझे फैंसी सीएसएस 3 रोल-ओवर प्रभाव के साथ जटिल लिंक दिए हैं।


मुझे लिंक से पहले आने वाले अतिरिक्त सामान की आवश्यकता नहीं थी। यदि आप href से छुटकारा पा लेते हैं तो आपको केवल url पर निर्देशित किया जा सकता है।
Jngai1297

यह मेरे लिए सबसे अच्छा जवाब था। धन्यवाद!
newUserNameHere

@newUserNameHere कोई चिंता नहीं! :)
स्टार्कर

17

सबसे अच्छा होगा:

link_to image_tag("Search.png", :border => 0, :alt => '', :title => ''), pages_search_path, :class => 'dock-item'

यह सबसे साफ उपाय है।
राडस्पेक

सबसे अच्छा समाधान, साफ और बिना किसी अनावश्यक लूप के।
लुकास एंड्रेड


6

आसान:

<%= link_to image_tag("Search.png", :border=>0), :action => 'search', :controller => 'pages', :class => 'dock-item' %>

Link_to का पहला परम लिंक करने के लिए पाठ / html है ( एक टैग के अंदर )। मापदंडों का अगला सेट url गुण है और लिंक खुद को विशेषता देता है।


मैंने कोशिश की थी, लेकिन इसे वहाँ जोड़ने से यह स्ट्रिंग के लिए एक पैरामीटर बन जाता है। कृपया मेरा अद्यतन देखें
सर्वव्यापी

हाँ, मैंने यह भी लिखा कि दूसरा परम उर है, लेकिन फिर बिना किसी कारण के इसे हटा दिया: पी
टोबी हैड

2

Http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html के अनुसार, अपने अद्यतन प्रश्न का उत्तर देने के लिए ...

पुराने तर्क शैली का उपयोग करते समय सावधान रहें, क्योंकि अतिरिक्त शाब्दिक हैश की जरूरत है:

  link_to "Articles", { :controller => "articles" }, :id => "news", :class => "article"
  # => <a href="https://stackoverflow.com/articles" class="article" id="news">Articles</a>

हैश को छोड़ना गलत लिंक देता है:

  link_to "WRONG!", :controller => "articles", :id => "news", :class => "article"
  # => <a href="https://stackoverflow.com/articles/index/news?class=article">WRONG!</a>

2

पूरे :action =>, :controller =>बिट है कि मैं एक बहुत चारों ओर देखा है मेरे लिए काम नहीं किया।

खोदने के घंटे बिताए और इस विधि ने निश्चित रूप से मेरे लिए एक लूप में काम किया।

<%=link_to( image_tag(participant.user.profile_pic.url(:small)), user_path(participant.user), :class=>"work") %>

Image_tag के साथ link_to का उपयोग करके पटरियों पर रूबी

इसके अलावा, मैं रेल्स 4 का उपयोग कर रहा हूं।


1

मैंने यह भी कोशिश की, और बहुत अच्छी तरह से काम करता है:

      <%= link_to home_index_path do %>
      <div class='logo-container'>
        <div class='logo'>
          <%= image_tag('bar.ico') %>
        </div>
        <div class='brand' style='font-size: large;'>
          .BAR
        </div>
      </div>
      <% end %>

0

अरे दोस्तों यह लिंक w / छवि का एक अच्छा तरीका है और अगर आप "alt" या "टाइटल" आदि के उदाहरण के लिए css विशेषता के मामले में बहुत सारे प्रॉप्स चाहते हैं तो ..... एक तार्किक प्रतिबंध (?) भी शामिल है।

<%= link_to image_tag("#{request.ssl? ? @image_domain_secure : @image_domain}/images/linkImage.png", {:alt=>"Alt title", :title=>"Link title"}) , "http://www.site.com"%>

उम्मीद है की यह मदद करेगा!


0
<%= link_to root_path do %><%= image_tag("Search.png",:alt=>'Vivek',:title=>'Vivek',:class=>'dock-item')%><%= content_tag(:span, "Search").html_safe%><% end %>

क्या आप हमारे उत्तर के बारे में कुछ विवरण बताएंगे?
नीलेश

मेरा ans इस तरह आउटपुट दिखाएगा: <a href="https://stackoverflow.com/pages/search"> <img alt = "खोज" बॉर्डर = "0" वर्ग = "डॉक-आइटम" src = "/ images / Search.png? 1264180800" /> </a> <span> खोजें </ span> </a>
विवेक कपूर

0

आप भी इसे आजमा सकते हैं

<li><%= link_to "", application_welcome_path, class: "navbar-brand metas-logo"    %></li>

जहां "मेटास-लोगो" एक पृष्ठभूमि छवि के साथ एक सीएसएस वर्ग है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.