読者です 読者をやめる 読者になる 読者になる

Webサービスを作って潰すのが趣味な人のブログ

とりあえず作ってから怒られよう

【Rails】プレビュー画面とかでtextareaの値をhiddenで持つと変な空白が勝手に追加される問題

ちょっとわかりづらいですがタイトルの問題が発生しました。これは別にRails特有の問題ではないと思いますので他の言語でも対応可能です。

 

例えば下の文章をtextareaに書き込んでpostしたとします。

テストメッセージ
改行を含む
テキスト

プレビュー画面などで値を確認させてから、値を再度送信したい場合は一度hidden_fieldに格納させるのが一般的なやり方です

gist4f3c663578060b9d46da

 

しかし、textareaの値を格納してもう一度取り出すと

テストメッセージ
         改行を含む
                  テキスト

こんな感じで謎の空白が大量に挿入されます。

あとで行ごとにtrimすればいいだけじゃない?」とも思うのですが、そもそも空白が突っ込まれること自体が気持ち悪い感じがしません?ということで回避方法を書いておきます。

 

cssでdisplay:noneにしたテキストエリアを使う

 

HTMLの美学なんてどうでもいい!!

 

input hiddenではなく、普通にtextareaに値を入れてそれをdisplay:noneにしてください

逆転の発想ですね、我ながら恐ろしい……

うーん……バッドノウハウ系の香りがぷんぷんするぜ!!