2017-07-12 2 views
0

Je voudrais créer une balise qui a pour base le chemin racine plus et une chaîne arbitraire.Liaison arbitraire à l'aide de rails

Je pourrais créer la chaîne dans le contrôleur en utilisant une variable d'environnement ENV["ROOT_URL"] et passer la chaîne, mais je préfère ne pas.

La sortie je voudrais est

<a href="www.mysite.com/randomstring">Go To Link</a> 

# what i've tried 
link_to "Random string", root_path + "randomstring" %> 

J'ai regardé la documentation link_to mais on ne sait pas comment construire une URL arbitraire

Répondre

1

Une URL est pour toutes les intentions juste un groupe de texte. N'oubliez pas que vous devez préfixer les liens externes avec http:// ou https:// ou qu'ils seront interprétés comme des chemins relatifs.

Dans votre cas:

<a href="http://example.com/randomstring">Go To Link</a> 

Devient:

= link_to('Go To Link', 'http://example.com/randomstring') 

Ou plus génériquement:

= link_to('Go To Link', 'http://example.com/' + randomstring) 

randomstring est une variable avec ce texte dans ce que vous voulez tant que c'est valide dans le cadre d'une URL.

+0

est-il possible d'obtenir l'URL racine des environnements via root_path et d'ajouter une chaîne sur cela? – user2954587

+0

Vous pouvez tirer des choses de 'ENV' si vous voulez, ou n'importe quel autre endroit d'ailleurs. – tadman

+0

ok, espérait qu'il y aurait un moyen de ne pas le faire et juste l'obtenir de root_path – user2954587