रेल link_to
विधि!
आपके सभी रेल अनुप्रयोगों में उपयोग की जाने वाली सबसे आम सहायक विधियों में से एक।
लेकिन यह कैसे काम करता है?
अगर आप link_to
. के बारे में जानने के लिए यहां आए हैं और इसके साथ आप विभिन्न विकल्पों का उपयोग कर सकते हैं तो आप सही जगह पर हैं!
पहले…
link_to
क्या करता है करते हैं?
खैर, यह पूरी वेबसाइट केवल इसलिए काम करती है क्योंकि हमारे पास पृष्ठों के बीच लिंक हैं।
इस तरह आप एक पेज से दूसरे पेज पर जाते हैं।
सादे HTML में, आप इस तरह एक लिंक बनाते हैं :
Improve Your Ruby Skills
लेकिन रेल में ऐसा दिखाई देगा :
<%= link_to "Improve Your Ruby Skills", "/ruby-book" %>
क्यों?
क्योंकि हम रेल में मार्गों का उपयोग करते हैं।
हम _path
. का उपयोग करके इसका लाभ उठाना चाहते हैं तरीके और उसे लक्ष्य बनाना (href
) हमारे लिंक का।
link_to
Using का उपयोग करना इसे आसान बनाता है क्योंकि हमें मूल्य को प्रक्षेपित करने की आवश्यकता नहीं है।
मेरा यही मतलब है :
">Improve Your Ruby Skills
अब:
आइए इस पद्धति द्वारा समर्थित सबसे उपयोगी वैकल्पिक तर्कों को गहराई से देखें।
विकल्पों और तर्कों के लिए लिंक_को रेल करता है
link_to
. के लिए पहला तर्क लिंक पर टेक्स्ट है।
दूसरा तर्क?
यह वह URL है जिससे आप लिंक कर रहे हैं।
आप चाहें तो इसे हार्डकोड कर सकते हैं, लेकिन अधिकांश समय आप रेल मॉडल, या _path
का उपयोग कर रहे होंगे। विधि।
जब आप उचित परंपराओं का पालन करेंगे तो रेल चीजों का पता लगा लेगी।
उदाहरण के लिए :
<%= link_to "Improve Your Ruby Skills", book_path(@book) %>
या :
<%= link_to "Improve Your Ruby Skills", @book %>
आप कैसे जानते हैं कि किसका उपयोग करना है?
- एक विशिष्ट संसाधन (पुस्तक) का जिक्र करते समय एकवचन रूप
- एक संग्रह (किताबें) का जिक्र करते समय बहुवचन रूप
उदाहरण :
# Plural <%= link_to "All Books", books_path %> # Singular <%= link_to "Edit Book", edit_book_path(@book) %>
यह आपके मार्गों को देखने में भी मदद करता है (rake routes
)।
पहले कॉलम का नाम है (जैसे edit_book
) जिसे आप _path
. जोड़कर अपने लिंक में उपयोग कर सकते हैं इसके लिए।
पुष्टि के साथ लिंक हटाएं
दो उपयोगी विकल्प जिनका आप उपयोग कर सकते हैं:
- पुष्टि करें
- अक्षम_साथ
उदाहरण :
<%= link_to "Delete Book", @book, method: "delete", { confirm: "Are you sure?", disable_with: "Processing..." } %>
लिंक के लिए डिफ़ॉल्ट क्रिया एक GET अनुरोध है।
यदि आप "हटाएं" क्रिया का उपयोग करना चाहते हैं तो आपको इसके बारे में विशिष्ट होना चाहिए ।
लेकिन…
यदि आप पिछले पृष्ठ का लिंक चाहते हैं तो क्या होगा?
इसे आजमाएं :
<%= link_to "Back", :back %>
कस्टम CSS क्लासेस और HTML विशेषताओं का उपयोग कैसे करें
आप CSS का उपयोग करके अपने लिंक को अलग दिखा सकते हैं।
उदाहरण के लिए :
<%= link_to "Get More Books", books_path, class: "index-link" %>
मान लें कि आपके पास यह सीएसएस है:
.index-link { color: blue; padding: 10px; }
यदि आपको अधिक HTML विशेषताओं (जैसे "id") की आवश्यकता है, तो आप उन्हें लिंक टेक्स्ट और लिंक URL के बाद जोड़ सकते हैं।
क्वेरी पैराम और एंकर लिंक कैसे बनाएं
एक अन्य विकल्प जो आपको मददगार लग सकता है वह है क्वेरी पैरामीटर और एंकर के साथ लिंक बनाने की क्षमता।
यह सहायक क्यों है?
क्योंकि उपयोगकर्ता द्वारा लिंक पर क्लिक करने के बाद आप अपने नियंत्रक से इस अतिरिक्त डेटा तक पहुंच सकेंगे।
आइए कुछ उदाहरण देखें!
अगर आप इस तरह का यूआरएल बनाना चाहते हैं :
"/search?q=all"
तब आप यह कर सकते हैं :
<%= link_to "Search ALL", search_path(q: "all") %>
और इस यूआरएल के लिए :
"/books#programming"
आप यह कर सकते हैं :
<%= link_to "Programming Books", books_path(anchor: "programming") %>
URL सहायकों के साथ संयुक्त (_path
/ _url
), link_to
आपको वह सभी लचीलापन देता है जिसकी आपको आवश्यकता है।
छवियों से लिंक करना
बहुत से लोग नहीं जानते कि link_to
एक वैकल्पिक ब्लॉक लेता है।
यह अधिक जटिल परिदृश्यों को सक्षम बनाता है।
किसी छवि से लिंक करना पसंद करें :
<%= link_to books_path do %> <%= image_tag "Book Collection" %> <% end %>
इस उदाहरण में, ब्लॉक की सामग्री लिंकिंग टेक्स्ट, छवि या कोई अन्य HTML तत्व बन जाती है जिसे आप क्लिक करने योग्य बनाना चाहते हैं।
सारांश
आपने link_to
. के बारे में जान लिया है रेल में विधि!
अगर आपको यह लेख मददगार लगा तो मेरी रूबी पुस्तक की एक प्रति प्राप्त करें ताकि आप अपने रूबी कौशल को सुपर-चार्ज कर सकें और मेरे काम का समर्थन कर सकें।
पढ़ने के लिए धन्यवाद