Rails – select current menu item -


मैंने एक छोटा सहायक बनाया है जो class = "selected" जोड़ता है। वर्तमान पथ वर्तमान मेनू आइटम है, और यह चयन करने के लिए प्राथमिक रूप से यह current_page? का उपयोग करता है।

  मॉड्यूल मेनूहेलर #renders मेनू आइटम और वर्तमान मेनू आइटम पर जोर देती है डेफ टॉपमेनू पेज = {"प्रॉडक्ट्स" = & gt; Admin_products_path, "श्रेणियां" = & gt; Admin_categories_path, "कैटलॉग" = & gt; Admin_catalogs_path, "बिक्री चैनल" = & gt; Admin_sales_channels_path} pages.map करें | कुंजी, मान | यदि मौजूदा_पृष्ठ (मूल्य) "& lt; li # {classnames} & gt; # {link_to (कुंजी, मान)} & lt; / li & gt; classnames =% (class =" current ") एंड एंड / लेआउट्स / एप्लिकेशन। Html:  
  & lt; ul class = "topmenu" & gt; & Lt;% = टॉपमेनयू% & gt; & Lt; / ul & gt;  

मेरे दृष्टिकोण में एक बड़ा दोष है / एडमिन / कैटलॉग का चयन एक जादू की तरह काम करता है लेकिन किसी भी उप-पृष्ठ ( / admin / catalogs / 1 , आदि नहीं)

मुझे लगता है कि विधि के तरीकों से मेरा दृष्टिकोण दोषपूर्ण हो सकता है

क्या आपके पास इस तरह के यूआरएल को स्वीकार करने के लिए इस स्क्रिप्ट को बढ़ाने के बारे में कोई विचार है, या क्या इसे हासिल करने का एक चालाक तरीका है?

जिस प्रकार मैंने एक समान मेनू सहायक बनाया था, वह नियंत्रक_नाव और action_name विशेषताओं को देखना था और फिर तय किया गया था कि कोई दिए गए पृष्ठ चयनित / सक्रिय है या नहीं या नहीं। यह पूर्ण यूआरएल से कम विशिष्ट है, इसलिए यह उपयोगी हो सकता है।

  search_page_active = नियंत्रक.controller_name == 'छात्र' & amp; amp; \ Controller.action_name == 'खोज'  

Comments

Popular posts from this blog

php - multilevel menu with multilevel array -

.net - C# List<T>.Find(x=>x.Rectangle.Contains(Point)) FAIL -

objective c - iPhone and it's wireless area -