Rails définit un tas de magie avec des itinéraires nommés qui font des aides pour vos itinéraires. Parfois, en particulier avec les itinéraires imbriqués, il peut être un peu déroutant de garder une trace de l'URL que vous obtiendrez pour un appel de méthode d'assistance d'itinéraire donné. Est-il possible, à l'aide de la console Ruby, de voir quel lien une fonction d'assistance donnée va générer? Par exemple, étant donné une aide nommée comme post_path (post), je veux voir quelle URL est générée.
ruby-on-rails
Derek Thurn
la source
la source
app.get "/"
alors juste instance_eval les méthodes voulues, car elles sont maintenant protégées par défaut. Quelque chose comme:app.instance_eval{ post_path(post) }
app.teh_path
fonctionne toujours dans Rails 4.0 et est utile pour séparer les chemins de moteur des chemins d'application principaux.mount Spree::Core::Engine, :at => '/'
, vous accéderez aux chemins via le nom du moteur, commeapp.spree_core_engine.some_path
. Ou, si le "nom_moteur" est configuré pour être quelque chose de différent comme dans ce code, vous le feriezapp.spree.some_path
.host
paramètre comme ceci:app.article_url(my_article, host: 'mydomain.com')
vous pouvez également
à partir d'une session de console pour accéder aux assistants:
ou
la source
Rails.application.routes.url_helpers.users_path
?Dans la console Rails, l'application variable contient un objet de session sur lequel vous pouvez appeler des assistants de chemin d'accès et d'URL en tant que méthodes d'instance.
la source
Vous pouvez toujours vérifier la sortie de
path_helpers
dans la console. Utilisez simplement l'aide avecapp
la source
Rappelez-vous si votre itinéraire est à espacement de nom, comme:
Puis essayez :
production
la source
spree
exemple, vous êtes un ange qui est tombé du ciel.