2011-07-21 2 views
3

Quelle est la méthode que j'ai besoin d'appeler pour trouver l'URL racine d'une application rails. Par exemple, j'ai un site où l'adresse est "https: // host: 1234/foo/app-main".Rails URL absolue pour l'annuaire public

Quelle méthode dois-je utiliser pour obtenir "https: // host: 1234/foo/images" pour obtenir l'URL absolue pour les images dans l'url publique?

Répondre

3

image_path (image_name)

Edit: Steve a un bon point, cela va vous qu'une partie du chemin. Pour obtenir le reste, vous devez être à l'intérieur d'une demande (vous êtes probablement)

Dans ce cas cependant, vous pouvez combiner ci-dessus à l'approche de la Justice,

"#{request.scheme}://#{request.host_with_port}/#{request.script_name}#{image_path(image_name)}" 
+0

Cela retournera une URL par rapport à la racine du serveur, pas une URL absolue. –

+0

@Steve Monsieur, vous avez raison. Fixé. – diedthreetimes

0

Cette question n'a de sens que sur une per- base de requête, car votre processus peut facilement écouter sur plusieurs noms de domaine et sur plusieurs systèmes.

"#{request.scheme}://#{request.host_with_port}#{request.script_name}" 

Voir Rack::Request.