rails尝试在循环中向link_to添加图标

时间:2017-06-22 14:57:54

标签: ruby-on-rails font-awesome

我正在试图弄清楚如何在每个循环中添加一个图标。我设法得到异常的唯一方法是使用以下代码:

<%- 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 -%>

但是图标显然最终会出现在链接之外,而这对我来说并不适用。

按照FontAwesome的文档here,应该有一种方法可以使用icon('flag'),但如何在链接中包含该文档?

2 个答案:

答案 0 :(得分:1)

您应该使用link_to作为

<%= 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 %>

答案 1 :(得分:1)

您可以尝试:

<%= 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)%>

<%= 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 %>

希望它有所帮助。