ApplicationHelper
नीचे के रूप में एक विधि बनाएँ ।
def active controllers, action_names = nil
class_name = controllers.split(",").any? { |c| controller.controller_name == c.strip } ? "active" : ""
if class_name.present? && action_names.present?
return action_names.split(",").any? { |an| controller.action_name == an.strip } ? "active" : ""
end
class_name
end
अब इसे नीचे उपयोग मामलों के रूप में देखने में उपयोग करें।
1. किसी भी विशिष्ट नियंत्रक की सभी कार्रवाई के लिए
<li class="<%= active('controller_name')%>">
....
</li>
2. कई नियंत्रकों की सभी कार्रवाई के लिए (अल्पविराम के साथ अलग)
<li class="<%= active('controller_name1,controller_name2')%>">
....
</li>
3. किसी विशिष्ट नियंत्रक की विशिष्ट कार्रवाई के लिए
<li class="<%= active('controller_name', 'action_name')%>">
....
</li>
4. कई नियंत्रकों की विशिष्ट कार्रवाई के लिए (अल्पविराम से अलग)
<li class="<%= active('controller_name1,controller_name2', 'action_name')%>">
....
</li>
5. किसी विशिष्ट नियंत्रक की कुछ विशिष्ट क्रियाओं के लिए
<li class="<%= active('controller_name', 'index, show')%>">
....
</li>
6. कई नियंत्रकों के कुछ विशिष्ट कार्यों के लिए (अल्पविराम के साथ अलग)
<li class="<%= active('controller_name1,controller_name2', 'index, show')%>">
....
</li>
आशा करता हूँ की ये काम करेगा