2017-06-22 1 views
0

J'essaie de comprendre comment ajouter une icône à l'intérieur d'une boucle. La seule façon que je suis parvenu à ne pas faire une exception avec ce code:rails essayant d'ajouter une icône à un link_to dans une boucle

<%- resource_class.omniauth_providers.each do |provider| %> 
    <%= link_to t('.sign_in_with', provider: oauth_provider_human_name(provider)), 
       omniauth_authorize_path(resource_name, provider), 
       class: oauth_provider_class(provider) %> 
    <i class="fa fa-flag"></i> 
<% end -%> 

mais l'icône se termine évidemment en dehors du lien qui wont travail pour moi.

Après la documentation de FontAwesome here il devrait y avoir un moyen d'utiliser icon('flag'), mais comment puis-je l'inclure dans le lien?

Répondre

1

Vous pouvez essayer:

<%= link_to ('<i class="fa fa-flag"></i>'+t('.sign_in_with', provider: oauth_provider_human_name(provider))).html_safe, omniauth_authorize_path(resource_name, provider),class: oauth_provider_class(provider)%> 

ou

<%= link_to omniauth_authorize_path(resource_name, provider),class: oauth_provider_class(provider) do %> 
<i class="fa fa-flag"></i> 
<%= t('.sign_in_with', provider: oauth_provider_human_name(provider)) %> 
<% end %> 

Hope it helps.

1

Vous devez utiliser link_to comme bloc

<%= link_to omniauth_authorize_path(resource_name, provider),class: oauth_provider_class(provider) do %> 
    <%= t('.sign_in_with', provider: oauth_provider_human_name(provider)) %> 
    <i class="fa fa-flag"></i> 
<% end %> 
+0

J'ai essayé, mais l'erreur suivante: _links.html.erb où la ligne n ° 24 soulevé: méthode non définie stringify_keys' pour "/ users/auth/google_oauth2": String –

+0

@just_user Mis à jour! – Pavan