phpにはnl2brという改行を<br />に変換する関数がある。これのrails版。厳密にはhtmlエスケープした上で改行コードを<br />に変換する。
railsで改行を<br>変換する
ns2brのrails版でapplication_helpers.rbに書いておく。viewでは<%= nl2br @msg %>のように使う。@msg="<strong>一行目</strong>\n二行目"に対してhbr(@msg)は"<strong>;一行目</strong><br />二行目"を返す。
def nl2br(str)
str.gsub(/\r\n|\r|\n/, "<br />")
end
railsでhtmlエスケープした上で改行を<br>変換する
html_escapeはh()のこと。application_helpers.rbに書いておく。viewでは<%= hbr @msg %>のように使う。これは<%= nl2br h(@msg) %>と同じ。
def hbr(str)
str = html_escape(str)
str.gsub(/\r\n|\r|\n/, "<br />")
end