ror root_path rails examples ruby-on-rails ruby-on-rails-3 rails-routing url-for

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.