はじめに
以前ポートフォリオを作成した際に、テストデータの文章を改行させる方法が分かりませんでした。
本記事は「フォームで入力した改行をsimple_formatで反映できるようにしたのに、テストデータの文章で改行できない!」と困っている方に向けて書いています。
あくまで私個人の事例なので、再現性については不明です。
※ simple_format...?と思われた方は参考URLの項目をご参照ください。
前提
- 改行した文章を表示するViewファイルにsimple_formatを記述済み
ポイント
seed.rbの文字列を改行するために必要な考え方は以下の2点です。
- 改行コード"\n"を使用する
- %Q{}で文字列を囲う
記述例
先述のポイントを踏まえた記述例は、下記の通りです。
※1. バックスラッシュ(\)は、Macの場合、option + ¥で入力できます。
※2. rails db:seedを実行すると、改行が反映されていることが確認できます。
解説
- 改行コードとは、改行の指示を出す制御文字を指します。
また制御文字とは、コンピュータに指示を出す時に使う特別な意味を持つ文字のことです。
実際に、コンソール画面で改行した文章を含む投稿等を検索してみると、文中に"\n"が入っていることが確認できるかと思います。
🔍バックスラッシュ(\)は通常書き記すことができない特殊な文字を表すエスケープ文字であり、
改行は英語で"new line"と表現します。
これらを組み合わせて改行コード"\n"が生まれたのではないかと推測します。 - %Q{テキスト}は"テキスト"と同じ意味で文字列の生成に使用されます。
最初は"テキ\nスト"で改行を試みましたが出来ず、%Q{テキ\nスト}とすることで改行できました。
❓原因不明