データベースに、次のような文字列を含む列があります。
"Warning set for 7 days.\nCritical Notice - Last Time Machine backup was 118 days ago at 2012-11-16 20:40:52\nLast Time Machine Destination was FreeAgent GoFlex Drive\n\nDefined Destinations:\nDestination Name: FreeAgent GoFlex Drive\nBackup Path: Not Specified\nLatest Backup: 2012-11-17"
このデータを電子メールでユーザーに表示しています。次の操作を行うことで、HTML 電子メールのフィールドを簡単に完全にフォーマットすることができました。
simple_format(@servicedata.service_exit_details.gsub('\n', '<br>'))
上記のコードは"\n"
を"<br>"
タグに置き換え、simple_format が残りを処理します。
私の問題は、プレーンテキストテンプレートで適切にフォーマットする方法で発生します。最初は、列を呼び出すだけでよいと思っていました"\n"
が、プレーンテキストが解釈され、すべてがうまくいくと想定していたためです。ただし、これは、必要に応じて改行を作成するのではなく、上に表示されているようにそのまま「\ n」の文字列を吐き出すだけです。
改行が認識されるように文字列を解析する方法を見つけようとしています。私が試してみました:
@servicedata.service_exit_details.gsub('\n', '"\r\n"')
@servicedata.service_exit_details.gsub('\n', '\r\n')
raw @servicedata.service_exit_details
markdown(@servicedata.service_exit_details, autolinks: false) # with all the necessary markdown setup
simple_format(@servicedata.service_exit_details.html_safe)
どれもうまくいきませんでした。
誰が私が間違っているのか、またはどうすればこれを機能させることができるのか教えてもらえますか?
私が望むのは、プレーンテキストが改行を認識し、次のように文字列をフォーマットすることです:
Warning set for 7 days.
Critical Notice - Last Time Machine backup was 118 days ago at 2012-11-16 20:40:52
Last Time Machine Destination was FreeAgent GoFlex Drive
Defined Destinations:
Destination Name: FreeAgent GoFlex Drive
Backup Path: Not Specified\nLatest Backup: 2012-11-17"