2010-06-19 4 views
0

Je suis un novice de rails. J'essaie de créer un lien sur une page d'affichage, avec une partie des données provenant d'un champ stocké qui est le sous-domaine. Je ne peux pas enregistrer le lien complet avant l'enregistrement dans le modèle car j'utilise uniquement les informations de sous-domaine pour un script en cours d'exécution.Création d'un lien, partiellement à partir de données stockées, avec des rails

Ainsi, par exemple, je sauve « sous-domaine » dans la base de données, mais sur une page show à afficher, et un lien vers:

http://<%=h @user.subdomain %>.thissite.com 

J'ai essayé quelques façons de le faire et ne peut pas le faire fonctionner. Je vous en serais reconnaissant toute aide ....

+1

Est-ce le problème de stockage dans la base de données, ou le lire sur et l'afficher sur la page? Veuillez fournir des exemples de code –

+0

Je peux le stocker et l'afficher correctement. Je ne sais pas comment créer un lien. J'essaie: <% = lien_à "http: // <%[email protected]%>. Thissite.com", "link_to" http: // <%[email protected]%>. thissite.com "%> qui ne fonctionne pas, mais j'espère que cela clarifie ce que je voudrais faire.Merci pour l'aide – Andrew

Répondre

0

De l'documentation:

link_to "Visit Other Site", "http://www.rubyonrails.org/" 

donc, la traduction que votre besoin qui devient:

link_to "Click here", "http://#{@user.subdomain}.thissite.com/" 
+0

Cela va fonctionner, mais il peut être salissant si vous voulez utiliser les assistants de route reposant dans les rails avec ce code –

+0

Merci pour l'aide! Et pour le lien de la documentation .... Je l'apprécie. – Andrew

0

Je pense que vous êtes à la recherche :

link_to 'test', :host => "#{@user.subdomain}.yoursite.com", :path_only => false

Vous pouvez trouver plus d'informations son e: http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html Assurez-vous de regarder les options dans url_for.

Si vous souhaitez que tous les liens que vous créez pour avoir le sous-domaine, vous pouvez aussi le faire dans votre contrôleur d'application:

def default_url_options(options) 
    { :only_path => false, :host => "#{@user.subdomain}.yoursite.com" } 
end 
Questions connexes