106 votes

Routes nommées _path vs _url

Rails fournit routes nommées.

Itinéraires aide peut être appelé à l'aide le chemin ou l'url

par exemple à partir de docs:

# and provide these named routes
root_url   # => 'http://www.example.com/'
root_path  # => '/'

franchement je n'ai jamais utilisé *_url helper pourtant , j'ai été en mesure d'obtenir les choses de travail à l'aide de *_path.

J'ai été peu confus, quel est le but de ces deux différentes aides?

comment sont-ils différents les uns des autres?

des exemples concrets avec des explications lors de l'utilisation de ce qui serait formidable.

152voto

Chris Peters Points 6429

_path aides à fournir un site-chemin relatif à la racine. Vous devriez probablement utiliser ce la plupart du temps.

_url aides fournir un chemin d'accès absolu, y compris le protocole et le nom du serveur. J'ai trouvé que j'utilise principalement ces dans les e-mails lors de la création de liens vers l'application sur le serveur. Ils doivent principalement être utilisées lorsque des liens pour l'usage externe. (Pensez à des liens e-mail, flux RSS, et des choses comme le copier-coller l'URL de domaine sous une vidéo YouTube "Partager" de l'article.)

12voto

Mori Points 10767

Lorsque vous mettez un lien sur votre propre site, le domaine partie de l'itinéraire est redondant, et ajoute à la taille de la page, de sorte que vous pouvez simplement utiliser le chemin d'accès à la partie de l'URL avec l' *_path helper. D'autre part, si l'URL est à être consommés à l'extérieur de votre site, par exemple un e-mail ou flux RSS, la totalité de l'URL est nécessaire, afin d'utiliser l' *_url helper.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X