向模型中的验证错误添加新行

时间:2019-07-28 01:57:42

标签: ruby-on-rails ruby-on-rails-5.2

如何添加带有换行符的错误?当我尝试添加\n时,它会被忽略,而当我尝试添加<br>时,它只会显示它。

控制器:

errors.add(:base, "This is the first line \n this is the second line")

查看:

<% if message_form.errors.any? %>
  <div class='row'>
    <div class= 'col-md-12'>
      <div id="error_explanation" >
        <h5><%= pluralize(message_form.errors.count, "error") %> prohibited error prevented save:</h5>
        <ul>
        <% message_form.errors.full_messages.each do |msg| %>
          <li><%= msg %></li>
        <% end %>
        </ul>
      </div>
    </div>
  </div>
<% end %>

1 个答案:

答案 0 :(得分:0)

可能您需要结合使用<br>html_safe助手来将该字符串标记为安全,并跳过所有其他转义。

但是,您应该考虑到,如果将带有用户提供的输入(或通常是外部输入)的字符串标记为html_safe,则可能会遭受HTML注入或XSS攻击。

如果这是您要实现的目标,我想提一下,您可以将多个错误与同一属性相关联,如Rails documentation中所述。