ruby on rails - root_path - raíles obtener la raíz de la aplicación/url base
routes rails examples (4)
Según this puedes hacer request.domain
En mi aplicación tengo algunas API que están bajo el dominio api. Ahora en una de las API quiero generar una url que apunte al dominio principal, por ejemplo
test.com/blabla...
Intenté usar url_for pero parece que el root_url o request.host predeterminado está en el dominio api. Url_for lo hará ser
api.test.com/blabla..
mientras yo quiero que sea
test.com/blabla...
Url_for puede tomar un parámetro
host: ...
para configurarlo para que sea test.com/, la pregunta es ¿cómo puedo obtener la url raíz / base (test.com) para el host? root_url o request.host son todos api.test.com.
¿Algunas ideas? Gracias.
Solo para que sea útil para alguien más, me encontré con esto hoy
request.base_url
Da el camino completo tanto en local como en directo.
request.domain
da solo el nombre de dominio por lo que a veces rompe un poco el enlace mientras se redirige
request.domain falla en CF si se le asignó la URL del dominio no la URL básica
Método alternativo más simple:
incluir en tu clase
include Rails.application.routes.url_helpers
cree una función o simplemente use root_url
para obtener la raíz de la aplicación / url base:
def add_host_prefix(url)
URI.join(root_url, url).to_s
end
finalmente: agregar
Rails.application.routes.default_url_options[:host] = ''localhost:3000''
en:
Your_project_root_deir/config/environments/development.rb
aunque los ayudantes pueden ser accesibles solo en vistas, pero esta es una solución funcional.