我正在尝试使用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 %>
答案 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 %>