जांचें कि वर्तमान कार्यवाही की कार्रवाई करें और देखें - रूबी-ऑन-रेल, रूबी, डिवीज

मैं प्रमाणीकरण के लिए तैयार मणि का उपयोग कर रहा हूँमेरे रेल ऐप। यदि उपयोगकर्ता विशिष्ट कार्यवाही कार्रवाई और दृश्य पर है तो मैं अपने navbar आंशिक छिपाने में सक्षम होना चाहूंगा। उदाहरण के लिए यदि उपयोगकर्ता वर्तमान में नए सत्र तैयार कर रहा है, तो मैं अपना navbar आंशिक छिपाना चाहता हूं। मैं इसे कैसे पूरा करूं?

आपका अग्रिम रूप से बोहोत धन्यवाद!

उत्तर:

जवाब के लिए 2 № 1

आप उपयोग कर सकते हैं devise_controller? सहायक। डॉक्स

<%= if devise_controller? %>
<!-- show partial -->
<% end %>

यदि आप विशिष्ट नियंत्रक को नियंत्रित करना चाहते हैं, तो उपयोग करें request.controller

<%= if request.controller == "devise/registrations" %>
<!-- show partial -->
<% end %>

जवाब के लिए 2 № 2

आप उपयोग कर सकते हैं:

<%= controller.name %>
<%= controller.action_name %>

साथ ही वहां भी:

<%= ActionController::Routing::Routes.recognize_path(request.url)[:id] %>

उपर्युक्त सभी संरचनाएं आपको बताती हैं कि आप कहां हैंअब दृश्य / आंशिक से रूटिंग के साधनों में। निजी तौर पर, मैं आपको इसका उपयोग करने की सलाह देता हूं, लेकिन सहायक में दृश्य से तर्क लेता हूं जहां आप मानचित्रण और सशर्त परिभाषित कर सकते हैं ताकि आपको नौसेना प्रस्तुत करना चाहिए।


उत्तर № 3 के लिए 1
 in layouts

it will control user and guest folder

_nav.html.erb

<% if !user_signed_in? %>
<%= render "/layouts/nav_guest" %>
<% else %>
<%= render "/layouts/nav_user"%>
<%end%>

_nav.user.html.erb

        show user navbar in this folder

_nav.guest.html.erb

           show guest navbar in this folder

संबंधित सवाल
सबसे लोकप्रिय