2013-02-02 42 views
12

मैं का उपयोग कर सहायक के लिए चयनकर्ता को जोड़ने के तरीके के आसपास देख रहा हूं, क्या यह संभव है?रेल और हैम, सहायक और लिंक करने के लिए id_ class चयनकर्ताओं को कैसे जोड़ना है?

a .haml - %a#booked{:href => "index.haml"} Link 1  

    b .html.erb - booking.html.erb - <%= link_to "Link 1", booking_path, :id => "booked" %> 

    c .haml.erb - booking.haml.erb - ...?? 

कौन सा हैम में बी के बराबर होगा?

उत्तर

25

link_to वास्तव में उसी तरह काम करता है जैसे यह एआरबी में करता है।

= link_to "Link 1", booking_path, :id => "booked" 
#=> <a id="booked" href="/bookings">Link 1</a> 

तुम भी इस तरह से एक वर्ग विशेषता निर्दिष्ट कर सकते हैं:: तो यह तुम क्या चाहते हो जाएगा

= link_to "Link 1", booking_path, :id => "booked", :class => "some_class" 
#=> <a id="booked" class="some_class" href="/bookings">Link 1</a> 

अधिक कैसे haml में गहरे लाल रंग का कोड डालने के लिए पर: Inserting ruby

और, बस link_to पर आईडी और कक्षाओं को पारित करने के बारे में कोई संदेह नहीं है, यहां एक उदाहरण है from the docs:

link_to "Articles", articles_path, :id => "news", :class => "article" 
#=> <a href="/articles" class="article" id="news">Articles</a> 
+0

हाय @ शियोयामा, वह दृष्टिकोण यूआरएल को एक आईडी जोड़ देगा। और जो मैं खोज रहा हूं वह एक आईडी चयनकर्ता है जैसे link 1। – evanx

+1

यह वही है जो यह करेगा: 'Link 1'। यह इसे यूआरएल में नहीं जोड़ देगा। –

+0

मैंने 'link_to' पर दस्तावेज़ों से एक उदाहरण जोड़ा है, क्योंकि आप देख सकते हैं कि 'आईडी' सही ढंग से 'ए' टैग को असाइन किया जाएगा, जो यूआरएल में शामिल नहीं है। –

4

लिंक_ का उपयोग कर हैम में एक आईडी चयनकर्ता जोड़ने के लिए आपको दो हैंश निर्दिष्ट करना होगा। कोष्ठक और घुंघराले ब्रेसिज़ छोड़ जब पार्स स्पष्ट है क्षमता:

e.g = link_to "Link 1", {booking_path, extra arg...}, {:id => 'booked'} 

एक महत्वपूर्ण रूबी मुहावरा कविता मोड है। आमतौर पर, रूबी प्रोग्रामर एक विधि कॉल के लिए तर्कों के चारों ओर कोष्ठक छोड़ सकते हैं, और एक कॉल कॉल के लिए अंतिम तर्क एक हैश है जब घुंघराले ब्रेसिज़ छोड़ दें। इसलिए निम्न दो विधि कॉल बराबर हैं, है कि एक स्ट्रिंग तर्क और एक हैश तर्क लेता LINK_TO एक विधि दिया:

घुंघराले ब्रेसिज़ के बिना, कोई रास्ता बताने के लिए इस कॉल दो कुंजी के साथ एक हैश पारित करने के लिए कोशिश कर रहा है कि क्या है या प्रत्येक कुंजी के दो हैंश। इसलिए कविता मोड का उपयोग तब किया जा सकता है जब एक हैश तर्क होता है और यह अंतिम तर्क है।

पैटरसन, डेविड; फॉक्स, आर्मान्डो (2012-08-24)। इंजीनियरिंग लांग-स्थायी सॉफ्टवेयर: सास और क्लाउड कंप्यूटिंग, बीटा संस्करण (किंडल लोकेशन 1 973-19 75) का उपयोग करके एक चुस्त दृष्टिकोण। स्ट्रॉबेरी घाटी एलएलसी। किंडल संस्करण।

+0

आपको इस मामले के लिए दो हैंश पास करने की आवश्यकता नहीं है, 'link_to "लिंक 1", booking_पथ, आईडी => "बुक किया गया" ठीक काम करेगा। –

+0

घुंघराले ब्रैकेट्स का उपयोग करने के लिए धन्यवाद, उनका उपयोग नहीं करना यही कारण है कि यह मेरे लिए काम नहीं कर रहा था। '<% = link_to 'वीडियो इंडेक्स', नियंत्रक: 'वीडियो',: id => 'अनुक्रमणिका'%>' आउटपुट 'Video Index' लेकिन इसे '{नियंत्रक:' वीडियो '} में बदलना' इसे ठीक से आउटपुट बनाता है 'Video Index ' –