使用link_tag内资产管道中的图像

时间:2014-07-13 09:05:02

标签: ruby-on-rails ruby-on-rails-4 asset-pipeline

我想创建一个使用资产管道中图像的链接。图像存储在assets/images/github_icon.png

没有图片的链接标记:

<%= link_to "Log in with Github", omniauth_authorize_path(resource_name, provider) %>

将标签链接到图像(如何创建此图片?):

<%= link_to ?????, omniauth_authorize_path(resource_name, provider) %>

过去我在链接标记中添加html时使用了raw()

<%= link_to raw("<p>Hey kids!</p>"), ... %>

但我不确定如何将raw()img_tag("github-icon.png")一起使用。

3 个答案:

答案 0 :(得分:3)

<强>的link_to

两种方式:

<%= link_to image_tag("github_icon.png"), path %>

<%= link_to path do %>
    <%= image_tag "github_icon.png" %>
<% end %>

-

与许多Rails助手一样,link_to非常灵活 - 您只需要将正确的参数传递给它。您试图通过img_tag(它不作为方法存在)和raw()(它不会做任何事情)。

您应该使用image_tag,并且不需要使用raw

答案 1 :(得分:1)

使用link tag with block。尝试

<%= link_to omniauth_authorize_path(resource_name, provider) do %>
  Log in with Github
  <%= image_tag "github_icon.png" %>
<% end %>

注意link_to块版本不带文本,因此您必须添加文本使用Github在块内登录

答案 2 :(得分:0)

您可以尝试以下方法:

  1. link_to image_tag("imageName.png", :border => 0), {:action => 'actionName', :controller => 'controllerName'}, {:class => 'className'}
  2. 或者你可以试试这个:

    <%= link_to href: '/url/for/you' do %>
        <%= image_tag 'yourImage.jpg', width: 136, height: 67, alt: 'WIN!'%>
    <% end %>