rutas route ror rails ruby-on-rails

ruby on rails - route - Rutas con nombre_path vs_url



routes ror (5)

Como dice Fernando here , usaría url siempre "te ahorrará muchos dolores de cabeza" si algún día usas https .

No recuerdo exactamente por qué ni cuándo ... tal vez con enlaces remotos, pero recuerdo que la solución estaba en cambio _path for _url

Rails proporciona rutas con nombre .

El asistente de rutas se puede llamar usando ruta o URL

por ejemplo, desde documentos:

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

Hablando francamente, nunca he usado *_url helper todavía, pude hacer que las cosas funcionen usando *_path .

Estaba un poco confundido, ¿cuál es el propósito de estos dos ayudantes diferentes?

¿cómo son diferentes el uno del otro?

algunos ejemplos reales con explicaciones sobre cuándo usar lo que sería genial.



Cuando coloca un enlace en su propio sitio, la parte del dominio de la ruta es redundante y se agrega al tamaño de la página, por lo que solo puede usar la parte de la ruta de la URL con el *_path . Por otro lado, si la URL se va a consumir fuera de su sitio, por ejemplo, un correo electrónico o una fuente RSS, se necesita toda la URL, por lo tanto, use el *_url helper.


_path proporciona una ruta relativa.

_url proporciona una ruta absoluta.

Siempre que envíe una URL en un correo electrónico, etc., es una buena práctica usar _url en lugar de _path.


_path helpers proporciona una ruta relativa al sitio raíz. Probablemente deberías usar esto la mayor parte del tiempo.

_url helpers proporciona una ruta absoluta, incluido el protocolo y el nombre del servidor. Descubrí que principalmente los uso en correos electrónicos cuando creo enlaces a la aplicación en el servidor. Deben usarse principalmente cuando se proporcionan enlaces para uso externo. (Piense en enlaces de correo electrónico, RSS y cosas como el campo copiar y pegar URL en la sección "Compartir" de un video de YouTube).