J'aimerais pouvoir obtenir le nom de l'itinéraire actuel dans une demande de Ruby sur des rails. J'ai trouvé des moyens pour que je puisse accéder au contrôleur et à l'action de la demande, mais j'aimerais accéder à une chaîne ou à un symbole du nom. P>
Par exemple, si j'ai un Je veux simplement récupérer le nom de l'itinéraire actuel sur une demande donnée. P> utilisateurs code> ressource; p>
users_path code> li>
edit_user_path code> li>
ul>
4 Réponses :
Vous pouvez utiliser les méthodes suivantes pour obtenir l'URL actuelle dans votre action, mais aucune d'entre elles ne vous donnera le nom de la route comme users_path code>
Le code suivant vous le donnera. Notez qu'il y a quelques exceptions à exceptions qui peuvent être lancées dans ActionDispatch :: Routing :: Routeset Code> (qui est ce qui est renvoyé de rails. Application.Routes Code>) Alors faites attention à ceux-ci. Vous pouvez trouver la mise en œuvre de la méthode ici . P> P> P> P> P >
Dans Rails 4, il semble que je dois utiliser demande.original_url code> à la place. Lorsque je fais la réponse, c'est {: action => "nouveau",: contrôleur => "Utilisateurs"} code>, quand je recherche new_user_path code>.
Vous pouvez utiliser le actuel_page? code> méthode pour y parvenir. current_page?(user_path(@user))
current_page?(edit_user_path(@user))
J'ai dû utiliser demande.original_full_fullpath code> (rails 5.2) p>
Je ne sais pas que je comprends la question, mais si vous tapez des itinéraires Rake dans votre terminal, cela vous donnera tous vos chemins.
Je sais que
routes râte code> répertoriera les itinéraires pour moi, je souhaite obtenir le nom de l'itinéraire lors d'une seule demande.Avez-vous découvert comment faire cela?