2012-07-20

Rails3で改行を<br />に変換して表示する

ぐぐってみると
app/helpers/application_helper.rb
に次のヘルパーメソッド追加してやればいけるぜb
  def hbr(str)
    str = html_escape(str)
    str.gsub(/\r\n|\r|\n/, "<br />")
  end
なんて記事が沢山ヒットするのですが、これはRails2までで、Rails3だとviewの<%= %>が標準でHTMLエスケープするようになったものだから<br />とそのまま表示されてしまいます。
そんな訳でRails3用に書きなおすとこんな感じ
  def hbr(str)
    h(str).gsub(/(\r\n?)|(\n)/, "<br />").html_safe
  end
hogeという変数の改行を
に変換して表示したい場合は
<%=hbr hoge %>
とviewの中で記述してあげればいけましたよヾ(*・ω・)シ

0 件のコメント:

コメントを投稿