“标签”的标题属性显示在单独的行中

时间:2019-04-28 07:24:13

标签: ruby-on-rails ruby

我要在单独的行中显示“标签”的title属性中的内容。

但是在浏览器中,它被视为字符串输出。

# HTML
<%= link_to filipino_url(f), remote: true, method: :get, class: 'client-link', title: "Error: #{f.error_messages.split(';').join(';&#10;')}" do %>
  <i class='fa fa-exclamation-circle text-danger'></i>
  <%= f.full_name %>
<% end %>
<!-- Developer mode of browser(F12) -->
<a class="client-link" title="Error: xxx1ooo;&#10;xxx2ooo" data-remote="true" data-method="get" href="http://localhost:4000/filipinoes/1">
  ......
</a>
# I got it.
"Error: xxx1ooo;&#10;xxx2ooo"
# But I need it.
"Error: xxx1ooo;
         xxx2ooo"

我使用浏览器的开发人员模式对其进行了修改。按Enter键后,我得到了所需的效果。它们显示在单独的行中。

但是通过程序输出,它变成了一个字符串,并且浏览器没有解析符号。

我不知道出了什么问题。请帮助我。

2 个答案:

答案 0 :(得分:0)

HTML 5 specification提到您可以实际使用"\n"

title: "Error: #{f.error_messages.split(';').join("\n")}"

答案 1 :(得分:0)

我使用了另一种解决方案来解决此问题。
使用外围的另一个标签替换“ a tag”提示功能

<% if f.error_status.error? %>
  <td title="Error:&#10;<%= raw f.error_messages.split(';').join(';&#10;') %>">
    <%= link_to filipino_url(f), remote: true, method: :get, class: 'client-link' do %>
      <i class='fa fa-exclamation-circle text-danger'></i>
      <%= f.full_name %>
    <% end %>
  </td>
<% else %>

这不是解决问题的好方法。
但是我真的想不出解决这个问题的更好方法。