ROR:如何让Devise注销链接图像?

时间:2016-07-23 15:55:45

标签: ruby-on-rails devise

我正在尝试在导航栏中输出我的注销链接。

Devise提供以下内容:

<%= link_to "Logout", main_app.destroy_user_session_path, method: :delete, :class => 'navbar-link'  %>

有谁知道如何在这里取代图像而不是文字?

试过这个,不起作用

<%= image_tag "logout.svg", link_to "Logout", main_app.destroy_user_session_path, method: :delete, :class => "exitLogo show-for-large" %>

由于

2 个答案:

答案 0 :(得分:2)

将图像传递到链接的内容块:

<%= link_to destroy_user_session_path, :method => 'delete' do %>
  <%= image_tag("logout.svg") %>
<% end %>

这将生成如下的HTML:

<a rel="nofollow" data-method="delete" href="/users/sign_out">
  <img src="/assets/logo-bfe14e7e4d9408d6028.svg" alt="Logo">
</a>

答案 1 :(得分:1)

您实际上需要将图像作为第一个参数传递给link方法:

<%= link_to raw(image_tag('logout.svg')), main_app.destroy_user_session_path, method: :delete, class: 'navbar-link' %>

您需要使用raw方法,否则rails将转义您的HTML图片代码。