Transforme uma nova linha ( n) em uma tag < br> com Ruby

Rails ou mais especificamente ActionView tem um método simple_format que traduz caracteres de escape em tags html e pode transformar tags arbitrárias de entrada do usuário em html. Ruby não tem um equivalente lib padrão, e às vezes você só quer permitir certas tags. Nesses casos, criar um auxiliar de quebra de linha simples pode ser útil. Pode ser parecido com:

Ruby reto

module LineBreak
def break_the_lines(text)
text
.to_s.gsub(/n/, '<br/>')
end
end

Jogue um include onde você precisa do método e você está pronto para ir.

Versão Rails

module LineBreak
def break_the_lines(text)
text
.to_s.gsub(/n/, '<br/>').html_safe
end
end

Coloque isso em / helpers e pronto.

Usei .to_s para garantir que o gsub possa ser usado e o método não seja quebrado por um array de strings.

O método .html_safe é um método em String
que cria um novo ActiveSupport :: SafeBuffer e o sinaliza como @dirty. Isso diz ao Rails que está tudo bem renderizar qualquer html sem escape na string.