Skip to content

Rails – link_to vers un autre site

Posted in Rails

Lorsque que l’on fait un lien externe du type

<%= link_to @user.siteweb, @user.siteweb %>

l’url généré ne sera pas correct si l’attribut « siteweb » ne contient pas l’url complet avec le protocol (http://). L’adresse obtenue sera en effet http://localhost:3000/www.siteweb.com

Il faut donc ajouter, si besoin, le protocol à l’adresse stockée en base. Pour cela, on crée un Helper :

def url_avec_protocol(url)
     /^http/.match(url)? url :"http://#{url}"
end

et on l’utilise dans le link_to :

<%= link_to @user.siteweb, url_avec_protocol(@user.siteweb) %>

 

Be First to Comment

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *