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