添加link_to与image_tag和图像路径

时间:2015-06-23 14:01:12

标签: html ruby-on-rails image ruby-on-rails-4 svg

我正在尝试使用rails应用程序视图中的link_to替换标记。 替换我有svg图标,文本和链接所有在一个标签。这是下面的

 <a class="navbar-brand" href="index.html"><%= image_tag 'logo.svg', "data-svg-fallback" => image_path('logo.svg'), :align=> "left" ,:style => "padding-right: 5px;" %>
    My Project </a>

但我无法将上述链接转换为rails link_to

任何建议都会很棒 这就是我想要的 但它无法正常工作

  1.  <%= link_to '#' do %>
  My Project<%= image_tag ('logo.svg', "data-svg-fallback" => image_path('logo.svg'), :align=> "left" ,:style => "padding-right: 5px;") %>
  <% end %>
2.   <%= link_to "My Project", home_index_path, :class=> "navbar-brand" do %>
  <%= image_tag('logo.svg'), "data-svg-fallback" => image_path('logo.svg'), :align=> "left" ,:style => "padding-right: 5px"; %>
  <% end %>

3 个答案:

答案 0 :(得分:1)

删除image_tag之后的空格。

<%= link_to '#' do %>
  My Project <%= image_tag('logo.svg', "data-svg-fallback" => image_path('logo.svg'), :align=> "left" ,:style => "padding-right: 5px;") %>
<% end %>

答案 1 :(得分:0)

而不是image_path,您必须使用asseth_path

试试这个:

<%= link_to '#' do %>
  My Project <%= image_tag('logo.svg', "data-svg-fallback" => asset_path('logo.svg'), :align=> "left" ,:style => "padding-right: 5px;") %>
<% end %>

答案 2 :(得分:0)

您需要使用asset_path在数据属性中设置svg的路径,如此

<%= link_to "index.html", class: "navbar-brand" do %>
       <%= image_tag "logo.svg", data: { svg_fallback => asset_path("logo.svg") }, align: "left", style: "padding-right: 5px;" %> My Project
<% end %>