2016-06-29 9 views
1

レンダリングするには分かりました\ r \ n simple_formatを使用する必要がありますが、WordPressから移行した投稿では機能しません。 \ r \ nを改行タグで置き換える正規表現を含む多くの解決策を試しましたが、どちらも役に立ちませんでした。私はまだスクリーン上に、テキストとして印刷され、レンダリングされないすべての改行を見る。 は、ここに私が試したものです:simple_formatを使ってRailsで改行をレンダリングできない

<%= simple_format(@post.body) %> 
<%= simple_format(@post.body.gsub(/(?:\n\r?|\r\n?)/, '<br>')) %> 

私はちょうどそれが動作します下のような何かをした場合。

<%= simple_format "<h1>Briefed while smartwatch firm Pebble lays off 25% of its staff</h1> -\r\n\r\n \r\n <p>hello</p>" %> 

私は何が間違っているのか分かりません。

答えて

0

私は最終的にSQLクエリを使用して、それを解く:

UPDATE posts SET body = REPLACE(body, '\r\n', '<br>'); 

は動作しませんでしたGSUBなぜRailsのを知ってはいけません。

編集: 私の正規表現が間違っているように見えます。これは、あまりにもそれを解決:

<%= simple_format(@post.body.gsub(/\\r\\n/, "\n")) %> 
0

は私がテストしているあなたのためにすべき作品は、次の試してみてください、そのあなたのケースでは

> "\n\r".gsub(/[\r\n]+/, '<br>') => "<br>" 
> "\r\n".gsub(/[\r\n]+/, '<br>') => "<br>" 

作業

(@post.body.gsub(/[\r\n]+/, '<br>') 
+0

おかげで、うまくいきませんでした。私は私の解決策を編集しました。 –

+0

あなたのルビーバージョンは何ですか? – Aamir

+0

2.3。それはそれとは関係ありません。問題は、MySQL DBの投稿をPostgres DBに移行して、コンテンツのフォーマットを変更したことでした。ソリューションはあなたのものと似ていますが、ちょうど追加のスラッシュが必要でした –